我有一个 MSBuild *.proj 文件,它构建我的解决方案并使用变更集编号设置构建版本。
现在我需要对同一个解决方案进行两次构建,其中有一个区别:第一个版本应该是“5.0.0.{chanset_number}”,但第二个版本应该是“2.0.0.{chanset_number}”。
我使用以下代码来获取一些最新的变更集并设置构建版本:
<ItemGroup>
<FilesToVersion Include="$(SolutionRoot)\GUI\Properties\AssemblyInfo.cs" />
</ItemGroup>
<!-- Added for using the latest changeset id as build number -->
<Target Name="BuildNumberOverrideTarget">
<BuildNumberGenerator>
<Output TaskParameter="BuildNumber" PropertyName="BuildNumber" />
</BuildNumberGenerator>
<GetLatestChangeset>
<Output TaskParameter="LatestChangeset" PropertyName="LatestChangeset" />
</GetLatestChangeset>
</Target>
<Target Name="AfterGet" Condition="'$(IsDesktopBuild)'!='true' ">
<MSBuild.ExtensionPack.VisualStudio.TfsVersion
TaskAction="SetVersion" Files="%(FilesToVersion.Identity)"
Version="$(VersionMajor).$(VersionMinor).$(VersionService).$(LatestChangeset)"
AssemblyVersion="$(VersionMajor).$(VersionMinor).$(VersionService).$(LatestChangeset)"
SetAssemblyVersion="true" />
</Target>