UWP .appx文件命名

时间:2017-01-17 17:06:52

标签: windows msbuild uwp makeappx

我正在构建一个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文件名中?

1 个答案:

答案 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向导完成,如下所示: