在GitTemplate.12.xaml中添加BuildNumber

时间:2015-04-04 15:36:33

标签: tfs

在相关的TfvcTemplate.12.xaml中,解决方案是添加内置编号,如下所示:

<mtbwa:MSBuild CommandLineArguments="[String.Format(&quot;/p:SkipInvalidConfigurations=true
/p:BuildNumber={1} {0}&quot;, MSBuildArguments, BuildDetail.BuildNumber)]"

在Git模板中,参数略有变化,但在以下错误中执行相同操作

Compiler error(s) encountered processing expression 
"String.Format("/p:SkipInvalidConfigurations=true /p:BuildNumber={1} {0}", 
AdvancedBuildSettings.GetValue(Of String)("MSBuildArguments", String.Empty),  
BuildDetail.BuildNumber)".
'Microsoft.TeamFoundation.Build.Client.BuildDetail' is not accessible in 
this context because it is 'Friend'.

在此模板中公开BuildNumber的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

我必须经历两个步骤才能完成这项工作。

  1. https://social.msdn.microsoft.com/Forums/vstudio/en-US/49f11ed9-9fa8-4c20-952a-d39ee7e71051/can-no-longer-user-builddetaildroplocation-for-copydirectory-with-tfs-2013-using-build-process?forum=tfsbuild
  2. 在您在步骤1中修改的同一模板中,点击&#34;运行MSBuild&#34;活动,查看属性和打开&#34; CommandLineArguments&#34;。我使用OctoPack进行Octopus Deploy,所以我的论点是这样的:

    String.Format("/p:SkipInvalidConfigurations=true /p:BuildNumber={1} {0} 
    /p:OctoPackPackageVersion={1}", AdvancedBuildSettings.GetValue(Of
    String)("MSBuildArguments", String.Empty), BuildDetail.BuildNumber)
    
  3. 如您所见,BuildNumber在那里指定,因此您可以删除我添加的Octopus属性。最后在你的msbuild文件中(例如.csproj),你可以使用内置编号,如$(BuildNumber)