使 Visual Studio 使用不同的次要版本工具集?
Make Visual Studio use different minor version Toolset?
在"C:\Program Files (x86)\Microsoft Visual Studio19\Professional\VC\Tools\MSVC"
下,我有不同的目录,例如:
- 14.16.xxxxx
- 14.24.xxxxx
- 14.25.xxxx.
但是,我注意到 Visual Studio 总是使用最新的次要版本。
Can I set it to use an older minor version of the toolset?
您可以在解决方案级别。正在关注 this guide:
- 下载任何次要版本 need/want。
- 或者,转到您的项目属性并在 C/C++ → 命令行菜单项中添加
-Bv
作为“附加选项”。这将在构建时输出编译器版本。
- 转到
C:\Program Files (x86)\Microsoft Visual Studio19\<yourVisualStudioVersion>\VC\Auxiliary\Build
并找到您要使用的次要版本的 Build.x
文件夹并打开它。
- 复制
Microsoft.VCToolsVersion.X.Y.props
文件(其中 X 是主要版本,Y 是次要版本)
- 将文件粘贴到包含您的解决方案的解决方案文件的目录中。
- 在 Visual Studio 中,卸载您的项目。
- 编辑项目的 .vcxproj 文件并在
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
. 行上方添加 <Import Project="$(SolutionDir)\Microsoft.VCToolsVersion.X.Y.props" />
- 重新加载您的项目,并执行测试构建。如果操作正确,它应该使用指定的次要版本,您可以在输出中看到:
这应该允许您针对主要版本工具集的特定次要版本进行构建。该指南还有一些其他方法,其中一种使用 CMake,配置后可能会更灵活。
在"C:\Program Files (x86)\Microsoft Visual Studio19\Professional\VC\Tools\MSVC"
下,我有不同的目录,例如:
- 14.16.xxxxx
- 14.24.xxxxx
- 14.25.xxxx.
但是,我注意到 Visual Studio 总是使用最新的次要版本。
Can I set it to use an older minor version of the toolset?
您可以在解决方案级别。正在关注 this guide:
- 下载任何次要版本 need/want。
- 或者,转到您的项目属性并在 C/C++ → 命令行菜单项中添加
-Bv
作为“附加选项”。这将在构建时输出编译器版本。 - 转到
C:\Program Files (x86)\Microsoft Visual Studio19\<yourVisualStudioVersion>\VC\Auxiliary\Build
并找到您要使用的次要版本的Build.x
文件夹并打开它。 - 复制
Microsoft.VCToolsVersion.X.Y.props
文件(其中 X 是主要版本,Y 是次要版本) - 将文件粘贴到包含您的解决方案的解决方案文件的目录中。
- 在 Visual Studio 中,卸载您的项目。
- 编辑项目的 .vcxproj 文件并在
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
. 行上方添加 - 重新加载您的项目,并执行测试构建。如果操作正确,它应该使用指定的次要版本,您可以在输出中看到:
<Import Project="$(SolutionDir)\Microsoft.VCToolsVersion.X.Y.props" />
这应该允许您针对主要版本工具集的特定次要版本进行构建。该指南还有一些其他方法,其中一种使用 CMake,配置后可能会更灵活。