我试图抓住" Build Agent Folder"从用于自定义构建模板。我知道我可以通过Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownEnvironmentVariables到达属性,但我找不到任何能够提供"构建代理文件夹的东西"
因为我想为多个项目使用自定义模板,并希望能够设置不同的"构建代理文件夹"对于每一个我需要从某个地方读取这个属性。是否有其他地方可以阅读以找到这个属性?
是否有任何MSBuild $样式的属性保存这个?
答案 0 :(得分:0)
您可以在流程模板中使用GetBuildDirectory
活动。在MSBuild中,您可以使用MSBuildThisFileDirectory
获取正在运行的脚本的当前目录。
如果您有多个映射,请使用Workspace.Folders
访问它们。
<ForEach x:TypeArguments="mtvc:WorkingFolder" DisplayName="ForEach WorkingFolder" Values="[Workspace.Folders]">
<ActivityAction x:TypeArguments="mtvc:WorkingFolder">
<ActivityAction.Argument>
<DelegateInArgument x:TypeArguments="mtvc:WorkingFolder" Name="folder" />
</ActivityAction.Argument>
<mtbwa:WriteBuildMessage Message="[String.Format("'{0}' mapped to '{1}'", folder.ServerItem, folder.LocalItem)]" />
</ActivityAction>
</ForEach>
此外,您可以在构建定义中使用$(SourceDir)
,而不是使用$(BuildDir)
,这将为您带来一个级别。