[英]VS2015: How to build using MSBuild 12.0?
我安装了VS2015(MSBuild 14.0)和VS2013(MSBuild 12.0)。 这样做的原因是我有一个只能使用MSBuild 12.0构建的项目。 我已经在这里 , 这里和这里槽了 。 我更改了项目文件以指定MSBuild 12.0,但是出现以下错误:
项目文件包含ToolsVersion =“ 12.0”。 该工具集可能是未知的或丢失的,在这种情况下,您可以通过安装适当版本的MSBuild来解决此问题,或者由于策略原因,该构建可能已被迫使用特定的ToolsVersion。 将项目视为具有ToolsVersion =“ 14.0”。 有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=293424 。
我知道工具集并不缺少,它安装在这里: C:\\Program Files (x86)\\MSBuild\\12.0
。
我希望更改.csproj文件中的ToolsVersion=12.0
会很简单。
此外,我与团队合作,因此理想情况下,我正在寻找侵入性最小的解决方案。 我宁愿不更改注册表值等。
任何帮助深表感谢。
我们无法在Visual Studio 2015中直接使用工具版本12。 MSDN说:
“从Visual Studio 2013开始,MSBuild工具集版本与Visual Studio版本号相同。MSBuild在Visual Studio中和命令行上默认为此工具集,而与项目文件中指定的工具集版本无关。此行为可以被覆盖通过使用/ ToolsVersion标志。有关更多信息,请参见覆盖ToolsVersion设置 。”
我们可以使用命令提示符覆盖“项目和解决方案的ToolsVersion设置”:
msbuild.exe someproj.proj /tv:12.0
此外,Guy Bolton King提供了Visual Studio扩展来实现它。 这是GitHub上的扩展存储库项目。
Set-toolsversion-extension,用于在构建期间临时设置环境变量MSBUILDDEFAULTTOOLSVERSION; 从与.sln文件位于同一目录中的.toolsversion文件中读取要使用的值。 psake脚本读取相同的.toolsversion文件,并将该值传递到/ tv开关。
请构建扩展项目,然后将SetToolsVersion.vsix安装到Visual Studio。
请注意 :感谢@ mbadawi23提醒您已清理解决方案,在安装扩展名后关闭了VS,然后再次打开它,还需要添加.toolsversion。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.