如何使用MSBuild重写TeamCity系统变量的值?

如何使用MSBuild重写TeamCity系统变量的值?,msbuild,teamcity,Msbuild,Teamcity,团队城市配置: 以下是在TeamCity中完成的版本号格式设置 %系统版本% 其中BuildVersion定义为系统参数 MSBuildScript <GetAssemblyIdentity AssemblyFiles="$(PPTCompiledOutputDirPath)\$(FileNameForAssembly)"> <Output TaskParameter="Assemblies" ItemName="AssemblyIdentity"/>

团队城市配置: 以下是在TeamCity中完成的版本号格式设置 %系统版本%

其中BuildVersion定义为系统参数

MSBuildScript

<GetAssemblyIdentity 
AssemblyFiles="$(PPTCompiledOutputDirPath)\$(FileNameForAssembly)">
        <Output TaskParameter="Assemblies" ItemName="AssemblyIdentity"/>
    </GetAssemblyIdentity>
    <PropertyGroup>
        <Pattern>(\d+)\.(\d+)\.(\d+)\.</Pattern>
        <In>%(AssemblyIdentity.Version)</In>
        <OutVersion>$([System.Text.RegularExpressions.Regex]::Match($(In), $(Pattern)))</OutVersion>
    </PropertyGroup>

    <Message Text="$(OutVersion)" />
    <Message Text="##teamcity[buildNumber '$(OutVersion)$(BuildCounter)']" />
    <Message Text="##teamcity[setParameter name='BuildVersion' value='$(OutVersion)$(BuildCounter)']"/>

(\d+)。(\d+)。(\d+)。
%(AssemblyIdentity.Version)
$([System.Text.RegularExpressions.Regex]::匹配($(In),$(Pattern)))
我想将参数“BuildVersion”的值更新为程序集版本和生成计数器


这里我得到了Teamcity的执行问题,执行被取消。

设置buildNumber的正确方法是:

<Message Importance="High" Text="##teamcity[buildNumber '$(OutVersion)$(BuildCounter)']" />