如何在TFS构建定义

时间:2017-03-28 15:33:22

标签: tfs msbuild

我正在尝试为TFS构建定义中的两个项目传递不同的MSBuild参数。

我正在建立一个包含两个项目的单一解决方案。我能够在不指定项目的情况下传递MSBuild参数,并且它正在工作。两个项目都正确建设。现在,我想将MSBuild参数分别传递给两个项目,因为我对这两个项目都有不同的参数值。我无法做到这一点。

如果我传递如下的MSBuild参数,对于这两个项目都是通用的,那么两个项目都正常构建。

  

/ p:DeployOnBuild = true / P:PackageTempRootDir = \ Release   / p:DeployIisAppPath =“默认Web   网站“; DefaultPackageFileName = API.zip   / P:OutputPath = “$(Build.BinariesDirectory)\ $(BuildPlatform)\ $(BuildConfiguration)”

如果我为两个项目单独传递MSBuild参数,

  

/ t:Project1 / p:DeployOnBuild = true   / P:PackageTempRootDir = \ Release / p:DeployIisAppPath =“默认Web   位点“;的 DefaultPackageFileName = API.zip   /p:OutputPath="$(Build.BinariesDirectory)\$(BuildPlatform)\$(BuildConfiguration)”    / t:Project2 / p:DeployOnBuild = true / P:PackageTempRootDir = \ Release   / p:DeployIisAppPath =“默认Web   位点“;的 DefaultPackageFileName = WEB.zip   / P:OutputPath = “$(Build.BinariesDirectory)\ $(BuildPlatform)\ $(BuildConfiguration)”

我只是根据项目寻找包名称的更改,如上所示。对于project1我想要API.zip,对于project2我想要WEB.zip。我试图通过几种不同的方式,它没有用。

对于上面的agruments,我得到两个项目的输出具有相同的包名称,它是WEB.zip。我不知道为什么。它正在构建两个项目,但名称相同。

我发现了类似的问题specify project file of a solution using msbuild,但没有说明如何将单独的MSBuild agruments传递给mutliple项目。

1 个答案:

答案 0 :(得分:3)

由于您正在使用vNext构建,因此可以通过添加多个VS构建任务来单独构建这两个项目。

enter image description here

有关详细信息,请查看以下两个问题:

相关问题