1

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

4

1 回答 1

1

.appx 文件名中的版本号不是由AssemblyInfo. 此版本号称为包版本号,它设置为应用程序清单中包/身份元素的版本属性中的值,例如:

<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>

更改Version属性然后运行​​MSBuild后,您将获得名为 like 的 .appx 文件MyUWPApp_1.2.3.0_x86.appx

除此之外,我们通常在创建应用包时更改包版本号。这可以通过 Microsoft Visual Studio 向导完成,如下所示:( 来源:s-msft.com

于 2017-01-18T07:00:42.490 回答