MSBuild | Значение свойства пусто после установки
Фон
Я очень новичок в MSBUild и пытаюсь написать скрипт MSBuild с событием после сборки. До события после сборки я хочу получить некоторую информацию о версии (сама версия, затем каждый сегмент версии).
проблема
Я могу получить версию успешно, но при попытке установить свойства, основанные на частях версии, свойства остаются пустыми.
Код
<PropertyGroup>
<PostBuildEventDependsOn>
$(PostBuildEventDependsOn);
PostBuildMacros;
</PostBuildEventDependsOn>
<PostBuildEvent>
if $(ConfigurationName) == Release (
// This shows the correct version
echo THE ASSEMBLY VERSION IS: @(VersionNumber)
// This is blank
echo THE MAJOR VERSION IS: $(MajorVersion)
)
</PostBuildEvent>
</PropertyGroup>
<Target Name="PostBuildMacros">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="Targets" />
</GetAssemblyIdentity>
<ItemGroup>
<VersionNumber Include="@(Targets->'%(Version)')" />
</ItemGroup>
<PropertyGroup>
<MajorVersion>$([System.Version]::Parse(%(Targets.Version)).Major)</MajorVersion>
</PropertyGroup>
</Target>