2

我有一堆用 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 文件的最终方法吗?

4

3 回答 3

3

我不知道权威指南,但是做了几次之后,我可以说出我所知道的。

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

  1. 如您所指出的ToolsVersion,项目文件需要设置为 3.5。
  2. 如果OldToolsVersion项目文件中有一个元素(意味着它先前已升级),则应将其删除。FileUpgradeFlagsUpgradeBackupLocation元素也是如此。基本上,您不希望OldToolsVersion与当前版本相同。
  3. 如果您使用的是客户端框架配置文件,则在 3.5 中该元素称为TargetFrameworkSubset. 在 4.0 中,它被称为TargetFrameworkProfile,因此该元素应该被重命名。(不确定这是否适用于 Mono)。
于 2011-04-08T05:30:33.003 回答
2

使用 MonoDevelop,Project->Export the solution to VS2008 format。

于 2011-04-09T01:16:02.867 回答
1

您确定必须降级 MSBuild 版本吗?只需使用 2.10 编译,将环境切换到 2.6.7,然后运行测试。

于 2011-04-08T16:32:35.297 回答