使用批处理的Visual Studio构建,没有硬编码路径

时间:2017-12-08 09:49:14

标签: visual-studio batch-file

我有一个公共git存储库,我想添加一个批处理文件,可以使用VisualStudio自动构建解决方案。这意味着我不想对那里的路径进行硬编码,因为不同的用户可能会使用不同版本的VisualStudio。有没有办法检查现有的VS安装并使用最新版本?

我知道可以使用\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\%VERSION%,但我不知道如何遍历版本并使用最新版本。

1 个答案:

答案 0 :(得分:1)

您可以使用vswhere查询特定的Visual Studio版本。

找到最新版本:

vswhere -latest 

查找特定范围14.0(2015)至15. *(2017)的最新版本:

vswhere -version [14.0,16.0)

这使用与NuGet用于依赖的语法相同的语法。

要捕获批处理文件中的位置,请使用:

for /f "usebackq tokens=1* delims=: " %%i in (`vswhere -latest -requires Microsoft.Component.MSBuild`) do (
  if /i "%%i"=="installationPath" set InstallDir=%%j
)

要查找包含特定功能的版本,请使用-requires选项。上面的选项搜索与MsBuild一起提供的版本。