UWP .appx именование файлов
Я создаю приложение 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>
Все хорошо, я могу запустить msbuild с /p:BUILD_NUMBER=1.2.3.4
аргумент, но это только отражает в 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 ответ
Номер версии в имени файла.appx не устанавливается AssemblyInfo
, Этот номер версии называется номером версии пакета, который устанавливается в качестве значения в атрибуте Version элемента Package/Identity в манифесте приложения, например:
<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, вы получите файл.appx с именем вроде MyUWPApp_1.2.3.0_x86.appx
,
Кроме того, мы обычно меняем номер версии пакета при создании пакета приложения. Это можно сделать с помощью мастера Microsoft Visual Studio следующим образом: