XAML 构建 InvokeProcess 构建变量

XAML Build InvokeProcess build variables

我目前正在使用一些参数执行从我的自定义 XAML 构建定义到 运行 VSTest.Console.exe 的调用过程。我已将 Visual Studio 文件夹的路径硬编码到文件名 属性 中。我想使用 $(VSINSTALLDIR) 变量而不是对路径的 C:\Program Files (x86)\Microsoft Visual Studio 14.0\ 部分进行硬编码,因为我相信 $(VSINSTALLDIR) 指向最新(或者可能是最后?)安装版本的 Visual Studio.

下面是我当前的 InvokeProcess XAML 指令:

<mtbwa:InvokeProcess Arguments="[msTestParamsBuilder.ToString()]" DisplayName="Invoke VSTest.Console for Test Assemblies" FileName="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\VSTest.Console.exe" sap2010:WorkflowViewState.IdRef="InvokeProcess_4" WorkingDirectory="[BuildDirectory]">

$(VSINSTALLDIR)不是TFS中的环境变量。 TFS 构建不应用 $(VSInstallDir) 宏的值 (C:\Program Files (x86)\Microsoft Visual Studio 14.0\ ) 有关 TFS 构建中环境变量的详细信息,请参阅此 link:Team Foundation Build environment variables

在您的情况下,您需要在 XAML 构建配置中添加值:

进程->构建->5。 Advances->MSBuild 参数 添加/p:VSInstallDir = Value