Установите для VersionSuffix идентификатор фиксации, если имеется
Если вы хотите сослаться на Azure devops для построения переменных из MSBuild, вам нужно сослаться на переменную среды, которую устанавливает агент.
Таким образом, вы можете использовать его в MSBuild, используя $(Build_SourceVersion)
вместо (Get-Variable Build_SourceVersion)
.
Тогда мы могли бы использовать следующие сценарии, чтобы получить Substring
этого значения:
<PropertyGroup>
<VersionSuffixTest>$(Build_SourceVersion)</VersionSuffixTest>
</PropertyGroup>
<PropertyGroup>
<VersionPrefix>2.1.0</VersionPrefix>
<VersionSuffix Condition="'$(VersionSuffixTest)' != ''">$(VersionSuffixTest.Substring(0, 7))</VersionSuffix>
</PropertyGroup>
В качестве теста я использую целевой вывод MSBuild со следующим значением:
<Target Name="TestTask" AfterTargets="Build">
<Message Text="$(VersionPrefix)" Importance="high" />
<Message Text="$(VersionSuffix)" Importance="high" />
</Target>
Затем я могу получить это значение:
![enter image description here](https://i.stack.imgur.com/PC9DD.png)
Проверьте эту тему и эту тему для некоторых деталей.
Надеюсь, это поможет.