2017-01-17 2 views
1

Je construis une application UWP et je veux avoir généré le paquet à nommer avec le numéro de build afin de distinguer les builds. Jusqu'à présent, j'ai cette configuration dans le fichier csproj:UWP nom de fichier .appx

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

Tout bien, je peux courir le msbuild avec l'argument /p:BUILD_NUMBER=1.2.3.4, mais cela reflète seulement dans le fichier AssemblyInfo.cs. Le fichier .appx sera nommé MyApplication.Core_1.0.0.0_x86_Test.appx et non MyApplication.Core_1.2.3.4_x86_Test.appx

Comment puis-je utiliser les informations BUILD_NUMBER à se refléter dans le nom du fichier .appx?

Répondre

1

Le numéro de version dans le nom de fichier .appx n'est pas défini par AssemblyInfo. Ce numéro de version est appelée Package version number qui est définie comme une valeur dans la Version attribut du Package/Identité élément dans l'application manifeste de vous:

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

Une fois que vous avez modifié l'attribut version puis exécutez MSBuild, vous obtiendrez le fichier .appx nommé MyUWPApp_1.2.3.0_x86.appx. En plus de cela, nous changeons généralement le numéro de version du paquet en creating an app package. Cela peut être fait avec l'assistant Microsoft Visual Studio comme suit: