gpt4 book ai didi

visual-studio-2012 - 通过 Visual Studio 2015 使用 Visual Studio 2012 工具进行编译

转载 作者:行者123 更新时间:2023-12-03 17:42:34 27 4
gpt4 key购买 nike

我有很多开发人员目前使用 Visual Studio 2012,我想分两个阶段将他们升级到 2015。首先升级到 Visual Studio 2015,然后升级到新的 MSBuild(编译器)工具集。这很重要,因为我希望 Visual Studio 中的构建使用与构建脚本中的构建相同的工具集,这些工具集可在开发人员计算机上使用并由构建服务器使用。我想避免挑一天告诉每个开发人员安装 Visual Studio 2015,同时将变更集推送到我们的存储库/分支以一次性更新构建脚本。

据我了解,ToolsVersion attributeProject element在项目文件中驱动了 MSBuild 版本之间的区别。但是,在 Visual Studio 2015 中使用 ToolsVersion=4.0 构建项目时,我收到以下消息:

Building with tools version "14.0".
Project file contains ToolsVersion="4.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="14.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=293424.



除此之外,我可以跟踪构建输出并看到它实际上是在使用 Visual Studio 2015 工具集来编译代码。我知道“4.0”工具集没有丢失(我安装了 Visual Studio 2012,以及包含该版本 MSBuild 的 .NET Framework 版本),所以我假设 Visual Studio 2015 找不到它,或者在那里是我不明白的“政策原因”。

根据 Standard and Custom Toolset Configurations 的 MSDN 页面, MSBuild 12.0 (Visual Studio 2013) 包括 4.0 工具集。但是我找不到关于 MSBuild 14.0 (Visual Studio 2015) 的任何信息。

是否可以在 Visual Studio 2015 中构建,但使用 Visual Studio 2012 工具集?如果是这样,如何?构建警告中提到的“政策原因”是什么?

最佳答案

解决方案

让您的开发人员设置环境变量 MSBUILDDEFAULTTOOLSVERSION4.0 .一种简单的方法是让它们运行,打开提升的 PowerShell 提示符并运行:

[Environment]::SetEnvironmentVariable("MSBUILDDEFAULTTOOLSVERSION", "4.0", "Machine")

Visual Studio 需要重新打开才能接受此更改。一旦您准备好升级到新的 MSBuild 工具集,请让您的开发人员删除该环境变量:
[Environment]::SetEnvironmentVariable("MSBUILDDEFAULTTOOLSVERSION", "4.0", "Machine")

背景

来自 MSDN (强调我的):

Starting in Visual Studio 2013, the MSBuild Toolset version is the same as the Visual Studio version number. MSBuild defaults to this Toolset within Visual Studio and on the command line, regardless of the toolset version specified in project file. This behavior can be overridden by using the /ToolsVersion flag. For more information, see Overriding ToolsVersion Settings.



顺便说一句,要验证计算机上可用的 MSBuild 工具集及其所在的位置,您只需打开 PowerShell 并运行:
dir HKLM:\Software\Microsoft\MSBuild\ToolsVersions

关于visual-studio-2012 - 通过 Visual Studio 2015 使用 Visual Studio 2012 工具进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32620502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com