我有一堆用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文件的明确方法吗?
答案 0 :(得分:3)
我不知道权威指南,但多次这样做我可以说出我所知道的。
对于一个简单的类库或WinForms应用程序,它非常简单:
ToolsVersion
需要设置为3.5,如您所示。OldToolsVersion
元素(意味着它先前已升级),则应将其删除。 FileUpgradeFlags
和UpgradeBackupLocation
元素也是如此。基本上,您不希望OldToolsVersion
与当前版本相同。TargetFrameworkSubset
。在4.0中,它被称为TargetFrameworkProfile
,因此应该重命名该元素。 (不确定Mono对此的适用性。)答案 1 :(得分:2)
使用MonoDevelop,Project-&gt;将解决方案导出为VS2008格式。
答案 2 :(得分:1)
您确定必须降级MSBuild版本吗?只需使用2.10,switch your environment编译为2.6.7,然后运行测试。