windows - UWP .appx fil navngivning

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bygger en UWP-app, og jeg vil have genereret en pakke, der skal navngives med bygge nummeret for at skelne mellem bygningerne.
Indtil videre har jeg denne konfiguration i csproj filen:


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


Alt godt, jeg kan køre msbuildet med argumentet /p:BUILD\_NUMBER=1.2.3.4, men det afspejler kun i AssemblyInfo.cs filen.
.Appx-filen bliver navngivet som MyApplication.Core\_1.0.0.0\_x86\_Test.appx og ikke MyApplication.Core\_1.2.3.4\_x86\_Test.appx


Hvordan kan jeg bruge BUILD\_NUMBER oplysningerne til at blive afspejlet i .appx filnavnet?

Bedste reference


Versionsnummeret i .appx filnavn er ikke angivet af AssemblyInfo. Dette versionsnummer hedder pakkeversionsnummer, som er angivet som en værdi i attributten Version i elementet Pakke/Identitet i app manifestet som: [9]


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


Når du har ændret attributten Version og derefter kører MSBuild , får du .appx filen navngivet som MyUWPApp\_1.2.3.0\_x86.appx.


Udover dette ændrer vi sædvanligvis pakkeversionsnummeret, mens du opretter en apppakke. Dette kan gøres med guiden Microsoft Visual Studio som følgende:
[10]