将MSbuild文件从4.0降级到3.5

时间:2011-04-08 04:59:27

标签: c# msbuild mono monodevelop xbuild

我有一堆用Visual Studio 2010和目标.NET 4.0创建的csproj文件。

我现在尝试使用xbuild在Mono 2.6.7上编译,但2.6.7无法编译verison 4 msbuild项目。 (2.10.1没有问题,这是我们一直在使用的,但我想在2.6.7上做一个实验。)

使用MonoDevelop我已将运行时版本更改为Mono / .NET 3.5,并且它在2.6.7下编译得很好。但是更改为使用xbuild会失败。

将MSBuild版本更改为3.5需要哪些步骤? csproj文件的第一行非常明显:

<Project ToolsVersion="4.0" 

改变这一点很容易,但我担心不太明显的事情也应该改变。

任何人都知道从4.0降级到3.5 msbuild文件的明确方法吗?

3 个答案:

答案 0 :(得分:3)

我不知道权威指南,但多次这样做我可以说出我所知道的。

对于一个简单的类库或WinForms应用程序,它非常简单:

  1. 项目文件中的ToolsVersion需要设置为3.5,如您所示。
  2. 如果项目文件中存在OldToolsVersion元素(意味着它先前已升级),则应将其删除。 FileUpgradeFlagsUpgradeBackupLocation元素也是如此。基本上,您不希望OldToolsVersion与当前版本相同。
  3. 如果您使用的是Client Framework配置文件,则在3.5中,该元素称为TargetFrameworkSubset。在4.0中,它被称为TargetFrameworkProfile,因此应该重命名该元素。 (不确定Mono对此的适用性。)

答案 1 :(得分:2)

使用MonoDevelop,Project-&gt;将解决方案导出为VS2008格式。

答案 2 :(得分:1)

您确定必须降级MSBuild版本吗?只需使用2.10,switch your environment编译为2.6.7,然后运行测试。