我对 Win 8 应用程序不熟悉,但我猜设置程序集版本应该与普通 .Net 相同。我们每次在构建中设置版本,而修订版与用于构建的实际变更集相同。这样,如果有人签入项目集合中的任何内容,它将自动增加。第一步是获取变更集编号并设置其他版本:
<PropertyGroup>
<incMajorVersion>6</incMajorVersion>
<incMinorVersion>1</incMinorVersion>
<incBuildNumber>3</incBuildNumber>
<incRevision>$(SourceGetVersion.Replace("C",""))</incRevision>
</PropertyGroup>
下一步是找到汇编文件并将版本更改为指定的版本。为此,使用 Extensionpack ( http://www.msbuildextensionpack.com/help/4.0.5.0/Index.html ) 中的 MSBuild 任务。现在我们必须导入任务文件,找到组装文件并更改它们。这需要在其他任何事情发生之前完成,因此我们覆盖 AfterGet 目标:
<Import Project="C:\Program Files (x86)\MSBuild\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks"/>
<Target Name="AfterGet" DependsOnTargets="$(AfterGetDependsOn)">
<ItemGroup>
<AssemblyInfoFiles Include="$(BuildDirectory)\**\AssemblyInfo.cs"/>
</ItemGroup>
<MSBuild.ExtensionPack.Framework.AssemblyInfo
AssemblyInfoFiles="@(AssemblyInfoFiles)"
AssemblyMajorVersion="$(incMajorVersion)"
AssemblyMinorVersion="$(incMinorVersion)"
AssemblyBuildNumber="$(incBuildNumber)"
AssemblyRevision="$(incRevision)"
AssemblyFileMajorVersion="$(incMajorVersion)"
AssemblyFileMinorVersion="$(incMinorVersion)"
AssemblyFileBuildNumber="$(incBuildNumber)"
AssemblyFileRevision="$(incRevision)" />
</Target>
现在输出文件应该具有您定义的版本号。