在新的(ish)Visual Studios中计算不带VsDevCmd.bat的% VCToolsVersion %

dauxcl2d  于 2023-06-24  发布在  iOS
关注(0)|答案(1)|浏览(123)

我正在尝试将对Visual Studio 2022的支持添加到一个古老的构建脚本中,该脚本目前仅支持VS 2015。我已经知道需要使用vswhere来查找产品本身的安装位置--但是如何才能知道VCToolsVersion的值是多少呢?我需要能够指定包含路径,例如:

  1. C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.36.32532\atlmfc\include\

我想得到这个版本号14.36.32532的唯一方法是使用VCToolsVersion。我不想使用VsDevCmd.bat来完成这项工作,因为这是一个python脚本,从外部.bat文件解析环境变量听起来不太正确。
我也尝试了这些,我认为这会给予我的路径:

  1. vswhere -requires Microsoft.VisualStudio.Component.ATL
  2. vswhere -requires Microsoft.VisualStudio.Component.VC.ATLMFC

这些不返回任何内容,并且:

  1. vswhere -requires Microsoft.VisualStudio.Component.VC.ATL

只是返回到VS的路径,并没有任何东西可以帮助我找出包含路径。所有这些似乎只是返回VS根目录,以及其他东西的版本号。

  1. instanceId: d2d572c6
  2. installDate: 9.3.2023 9.37.04
  3. installationName: VisualStudio/17.6.2+33723.286
  4. installationPath: C:\Program Files\Microsoft Visual Studio\2022\Enterprise
  5. installationVersion: 17.6.33723.286
  6. productId: Microsoft.VisualStudio.Product.Enterprise
  7. productPath: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.exe
  8. state: 4294967295
  9. isComplete: 1
  10. isLaunchable: 1
  11. isPrerelease: 0
  12. isRebootRequired: 0
  13. displayName: Visual Studio Enterprise 2022
  14. description: Scalable, end-to-end solution for teams of any size
  15. channelId: VisualStudio.17.Release
  16. channelUri: https://aka.ms/vs/17/release/channel
  17. enginePath: C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service
  18. installedChannelId: VisualStudio.17.Release
  19. installedChannelUri: https://aka.ms/vs/17/release/channel
  20. releaseNotes: https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.6#17.6.2
  21. thirdPartyNotices: https://go.microsoft.com/fwlink/?LinkId=661288
  22. updateDate: 2023-06-05T11:06:15.2023338Z
  23. catalog_buildBranch: d17.6
  24. catalog_buildVersion: 17.6.33723.286
  25. catalog_id: VisualStudio/17.6.2+33723.286
  26. catalog_localBuild: build-lab
  27. catalog_manifestName: VisualStudio
  28. catalog_manifestType: installer
  29. catalog_productDisplayVersion: 17.6.2
  30. catalog_productLine: Dev17
  31. catalog_productLineVersion: 2022
  32. catalog_productMilestone: RTW
  33. catalog_productMilestoneIsPreRelease: False
  34. catalog_productName: Visual Studio
  35. catalog_productPatchVersion: 2
  36. catalog_productPreReleaseMilestoneSuffix: 1.0
  37. catalog_productSemanticVersion: 17.6.2+33723.286
  38. catalog_requiredEngineVersion: 3.6.2115.31769
  39. properties_campaignId: 2030:6aae985218a94479a0432471b62643c0
  40. properties_channelManifestId: VisualStudio.17.Release/17.6.2+33723.286
  41. properties_nickname: 2

有没有一个正确的方法(甚至是一个小的组合)来获得正确的路径/版本号?

编辑

当然,在发布这篇文章之后,我在...\VC\Auxiliary\Build目录中发现了文件Microsoft.VCToolsVersion.default.txt,其中包含了版本号,我认为这就是我应该使用的。

7qhs6swi

7qhs6swi1#

版本号可以在...\VC\Auxiliary\Build中的Visual Studio安装下的文件Microsoft.VCToolsVersion.default.txt中找到(使用vswhere获取路径)

相关问题