我正在尝试将对Visual Studio 2022的支持添加到一个古老的构建脚本中,该脚本目前仅支持VS 2015。我已经知道需要使用vswhere
来查找产品本身的安装位置--但是如何才能知道VCToolsVersion
的值是多少呢?我需要能够指定包含路径,例如:
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.36.32532\atlmfc\include\
我想得到这个版本号14.36.32532
的唯一方法是使用VCToolsVersion
。我不想使用VsDevCmd.bat
来完成这项工作,因为这是一个python脚本,从外部.bat文件解析环境变量听起来不太正确。
我也尝试了这些,我认为这会给予我的路径:
vswhere -requires Microsoft.VisualStudio.Component.ATL
vswhere -requires Microsoft.VisualStudio.Component.VC.ATLMFC
这些不返回任何内容,并且:
vswhere -requires Microsoft.VisualStudio.Component.VC.ATL
只是返回到VS的路径,并没有任何东西可以帮助我找出包含路径。所有这些似乎只是返回VS根目录,以及其他东西的版本号。
instanceId: d2d572c6
installDate: 9.3.2023 9.37.04
installationName: VisualStudio/17.6.2+33723.286
installationPath: C:\Program Files\Microsoft Visual Studio\2022\Enterprise
installationVersion: 17.6.33723.286
productId: Microsoft.VisualStudio.Product.Enterprise
productPath: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.exe
state: 4294967295
isComplete: 1
isLaunchable: 1
isPrerelease: 0
isRebootRequired: 0
displayName: Visual Studio Enterprise 2022
description: Scalable, end-to-end solution for teams of any size
channelId: VisualStudio.17.Release
channelUri: https://aka.ms/vs/17/release/channel
enginePath: C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service
installedChannelId: VisualStudio.17.Release
installedChannelUri: https://aka.ms/vs/17/release/channel
releaseNotes: https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.6#17.6.2
thirdPartyNotices: https://go.microsoft.com/fwlink/?LinkId=661288
updateDate: 2023-06-05T11:06:15.2023338Z
catalog_buildBranch: d17.6
catalog_buildVersion: 17.6.33723.286
catalog_id: VisualStudio/17.6.2+33723.286
catalog_localBuild: build-lab
catalog_manifestName: VisualStudio
catalog_manifestType: installer
catalog_productDisplayVersion: 17.6.2
catalog_productLine: Dev17
catalog_productLineVersion: 2022
catalog_productMilestone: RTW
catalog_productMilestoneIsPreRelease: False
catalog_productName: Visual Studio
catalog_productPatchVersion: 2
catalog_productPreReleaseMilestoneSuffix: 1.0
catalog_productSemanticVersion: 17.6.2+33723.286
catalog_requiredEngineVersion: 3.6.2115.31769
properties_campaignId: 2030:6aae985218a94479a0432471b62643c0
properties_channelManifestId: VisualStudio.17.Release/17.6.2+33723.286
properties_nickname: 2
有没有一个正确的方法(甚至是一个小的组合)来获得正确的路径/版本号?
编辑
当然,在发布这篇文章之后,我在...\VC\Auxiliary\Build
目录中发现了文件Microsoft.VCToolsVersion.default.txt
,其中包含了版本号,我认为这就是我应该使用的。
1条答案
按热度按时间7qhs6swi1#
版本号可以在
...\VC\Auxiliary\Build
中的Visual Studio安装下的文件Microsoft.VCToolsVersion.default.txt
中找到(使用vswhere获取路径)