如何同时为.NET 3.5和4编译一个项目

9

我需要将一个项目编译成 .Net 3.5 和 .Net 4.0 双版本。有什么最简便的方法吗?如果我从另一个程序集引用这个项目,如何确定目标运行时?或者我应该直接引用二进制文件?


2
当针对不同的平台时,您的代码或引用的dll是否存在实际差异? - alun
1
如果你的代码中没有使用任何.NET4功能,为什么需要编译成.NET 4呢?一个.NET 4项目可以毫无问题地使用你编译的.NET 3.5二进制文件。 - jgauffin
不,代码没有任何区别。所有程序集都引用了2.0版本的库。 - Dmitri Nesteruk
3个回答

9

我通过拥有两个csproj文件来实现这一点。这样我就可以轻松设置版本、引用、构建符号等内容。为了避免在两个文件中都要维护文件列表,我使用一个全包含的方法 - 即

我在次要的.csproj文件中有:

<Compile Include="..\TheMainProject\**\*.cs" />
这句话的意思是“编译..\TheMainProject目录及其子目录中所有的.cs文件。”

谢谢,我想那就是我要的了。 - Dmitri Nesteruk

2

1

当针对完整的运行时、Silverlight、MonoDroid等时,也会出现类似的情况。或者当您的代码在不同的.NET版本之间有所不同时。也许会添加一些仅在新版本框架上支持的功能。 - CodesInChaos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,