如何强制Visual Studio 2010使用MSBuild 3.5而不是新的4.0?

最佳答案

我认为如果没有肮脏的技巧,您将无法更改Visual Studio中使用的MSBuild版本。

工具版本

MSBuild使用的MSBuild任务,目标和工具的版本由项目文件中的 ToolsVersion 属性确定。

  • Visual Studio 2008使用ToolsVersion =“3.5”
  • Visual Studio 2010使用ToolsVersion =“4.0”

  • 问题:如果在项目文件上手动将ToolsVersion更改为3.5,Visual Studio 2010将自动将项目文件的ToolsVersion升级到4.0

    骇客

    解决方案是将项目ToolsVersion设置为3.6(如果实际上要覆盖MSBuild 4.0,则设置为4.0或4.0),然后在注册表中创建以下项:
  • Registry配置单元:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.6
  • 字符串键名称:MSBuildToolsPath
  • 字符串键值:.NET Framework 3.5 Install Path(C:\Windows\Microsoft.NET\Framework\v3.5)

  • 在ToolsVersion未知的计算机上,将使用默认的ToolsVersion。

    有关custom toolset definition的更多信息。

    09-07 03:25