如何解决如何为 Azure Pipeline 中创建的 .msixupload 文件自动增加包版本号?
我正在使用 Azure Pipeline,当我提交到我的 GitHub 存储库时,它会自动运行。 .yml 文件生成一个 .msixupload 文件(用于 UWP)以上传到 Microsoft Store。但是,我无法上传生成的 .msixupload 文件,因为 .appxmanifest 文件中的版本号永远不会改变,我正在尝试为现有应用程序构建更新。每次运行 Azure Pipeline 时如何增加版本号?
我已经尝试添加
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
到此处描述的 .appxmanifest 文件:How do I auto increment the package version number?,但这没有任何区别。
解决方法
您可以使用 powershell 脚本更改 appxmanifest 文件中的版本值。见下例:
在您的 yaml 管道中。您可以设置如下变量:有关 counter
表达式的详细信息,请参阅 here。
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'
请查看this document了解更多信息。
因为 appxmanifest 文件只是基于文本的 XML 文件。您还可以使用扩展工具 Magic Chunks task 更改 appxmanifest 文件中的版本值。例如,检查 this thread。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。