如何自动增加在Azure Pipeline中创建的.msixupload文件的包版本号?



我正在使用Azure Pipeline,当我向GitHub存储库提交时自动运行。.yml文件生成一个.msixupload文件(用于UWP),用于上传到Microsoft Store。但是,我无法上传生成的.msixupload文件,因为.appxmanifest文件中的版本号永远不会改变,并且我正在尝试为现有的应用程序构建更新。我如何在每次运行Azure管道时增加版本号?

我试过添加

<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>

到.appxmanifest文件中,如下所述:我如何自动增加包的版本号?

可以使用powershell脚本修改appxmanifest文件中的版本值。请看下面的例子:

在yaml管道中。关于counter表达式的更多信息,请参阅此处。

variables:
major: 1
minor: 0
build: $(Build.BuildId)
version:  $[counter(variables['major'], 0)]  

然后添加powershell任务来运行下面的脚本来更新版本值:

- powershell: |
[Reflection.Assembly]::LoadWithPartialName("System.Xml.Linq")
$path = "Msix/Package.appxmanifest"
$doc = [System.Xml.Linq.XDocument]::Load($path)
$xName =
[System.Xml.Linq.XName]
"{http://schemas.microsoft.com/appx/manifest/foundation/windows10}Identity"
$doc.Root.Element($xName).Attribute("Version").Value =
"$(major).$(minor).$(build).$(revision)";
$doc.Save($path)
displayName: 'Version Package Manifest'

请查看此文档以获取更多信息。

因为appxmanifest文件只是基于文本的XML文件。您也可以使用扩展工具Magic Chunks task来更改appxmanifest文件中的版本值。例如,检查这个线程。

相关内容

  • 没有找到相关文章

最新更新