我正在构建一个UWP应用程序,我希望生成使用内部版本号命名的包,以区分构建。 到目前为止,我在csproj文件中有这个配置:
<Target Name="BeforeBuild">
<Message Text="Updating AssemblyInfo to Version $(VersionNumber)"></Message>
<Message Text="Writing to AssemblyInfo files in $(SolutionRoot)"></Message>
<AssemblyInfo CodeLanguage="CS"
AssemblyCompany="Company"
AssemblyProduct="Product"
AssemblyCopyright="Copyright © Company 2011"
ComVisible="true"
AssemblyVersion="$(BUILD_NUMBER)"
AssemblyFileVersion="$(BUILD_NUMBER)" />
</Target>
一切都很好,我可以使用/p:BUILD_NUMBER=1.2.3.4
参数运行msbuild,但这仅反映在AssemblyInfo.cs
文件中。
.appx文件将命名为MyApplication.Core_1.0.0.0_x86_Test.appx
而不是MyApplication.Core_1.2.3.4_x86_Test.appx
如何使用BUILD_NUMBER信息反映在.appx文件名中?
答案 0 :(得分:1)
.appx文件名中的版本号不是由AssemblyInfo
设置的。此版本号称为Package version number,在应用清单中包/标识元素的版本属性中设置为值:
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
<Identity Name="e12578ad-9b81-44bb-8651-0b58e44e71b8" Publisher="CN=Jay Zuo" Version="1.2.3.0" />
...
</Package>
更改版本属性,然后运行 MSBuild 后,您将获得名为MyUWPApp_1.2.3.0_x86.appx
的.appx文件。
除此之外,我们通常会在creating an app package时更改包版本号。这可以使用Microsoft Visual Studio向导完成,如下所示: