Добавьте BuildNumber в GitTemplate.12.xaml

В связанном 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 ответ

Решение

Мне нужно было пройти два шага, чтобы сделать эту работу.

  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, щелкните по действию "Запустить MSBuild", просмотрите свойства и откройте "CommandLineArguments". Я использую OctoPack для Octopus Deploy, поэтому вот как выглядят мои аргументы:

    String.Format("/p:SkipInvalidConfigurations=true /p:BuildNumber={1} {0} 
    /p:OctoPackPackageVersion={1}", AdvancedBuildSettings.GetValue(Of
    String)("MSBuildArguments", String.Empty), BuildDetail.BuildNumber)
    

Как видите, там указан BuildNumber, поэтому вы можете просто удалить добавленное мной свойство Octopus. Наконец, в вашем файле msbuild (например,.csproj) вы будете использовать номер сборки следующим образом $(BuildNumber)

Другие вопросы по тегам