我们有一个包含多个项目的 ASP.Net 解决方案。每个项目都有build.pubxml
唯一的文件夹路径。
例如:
在项目Test
中,我们在里面有这一行build.pubxml
:
<publishUrl>C:\publish\SolutionName\Test</publishUrl>
在项目Exam
中,我们在里面有这一行build.pubxml
:
<publishUrl>C:\publish\SolutionName\Exam</publishUrl>
在具有此参数的 MSBuild 步骤的构建管道(在 TFS 中)中:
/p:PublishProfile=build.pubxml
构建后,我们得到了 2 个文件夹 -Test
并Exam
在C:\publish\SolutionName
.
到目前为止,一切都很好。
问题是我们的分支很少,我们想为每个分支分离发布文件夹,所以我们.pubxml
为每个分支添加了,在构建管道中我们指定了正确的。但是 make 在创建的每个新分支上都需要做很多工作,并且可能会导致错误。
我们尝试/p:publishUrl=C:\publish\BranchName
在 MSBuild 中传递,但随后我们得到了一个包含所有内容的文件夹Test
,Exam
而不是两个文件夹。
这个想法是每个项目只有一个 .pubxml
带有参数的文件,并在管道中传递值,例如:
<publishUrl>C:\publish\$(Parameter)\Test</publishUrl>
并且在构建中我们将根据分支传递参数。
有可能做这样的事情吗?