默认情况下,当排队构建运行时,MSBuild 调用 CoreLabel 任务来标记构建中包含的源文件 - 我如何控制创建此标签的位置?
基本上,我希望在团队项目的根目录下创建标签(即下面的文件夹“Client”),但似乎标签是在工作区的工作文件夹的根目录下创建的(即 Project 1\Development \来源):
$ <-- Project Collection
+- Client <-- Team Project
+- Project 1 <-- Project
+- Deployments <-- Assets for a deployment
+- 1.0.0.0
+- 1.1.0.0
+- Development <-- Development Branch
+- Source <-- Dev Build Definition working folder mapped here.
+- Environment <-- Scripts, etc. for deployments.
+- Main <-- Main Branch
+- Source <-- Release Build Definition working folder mapped here.
在构建定义中,我们在工作区的“源”文件夹级别为 Development 或 Main 指定了一个“工作文件夹”,具体取决于构建类型。
查看构建日志,看起来应该在客户端级别创建标签:
Task "Label" (TaskId:42)
Label TeamFoundationServerUrl="http://TFSServer:8080/tfs/DefaultCollection"
BuildUri="vstfs:///Build/Build/4538"
Name="Nightly_20110303.5"
Scope="$/Client"
Recursive=True
Comments="Version-1.0.0.0 Requested-xxx Get-T Branch-Development"
Version="WCATQCDEV-BLD_35_8"
Child="Replace"
Files="$/" (TaskId:42)
Label Nightly_20110303.5@$/Client (version WCATQCDEV-BLD_35_8) was successfully created. (TaskId:42)
但是,即使Files
设置为$/
标签仍会在工作文件夹级别创建。根据文档,该Files
参数应该指定标签中包含哪些文件,但显然它并没有像我们想要的那样工作。
BeforeLabel
我已经成功修改了使用设置属性的任务创建的注释LabelComment
,但是,尝试将LabelFiles
同一任务中的属性设置为类似的东西$/Client
似乎不会影响标签的创建位置,而且似乎也结束了up%26/Client
在调用 Label 方法时在日志中被修改。