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>

0 ответов

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