如何通过CLI为.NET MAUI Windows应用指定版本发布?
.NET MAUI Windows应用CLI指定版本发布解决方案
有效解决步骤
直接在publish命令中指定包版本
Windows应用包的版本由MSBuild属性AppxPackageVersion控制,执行发布命令时直接传递该参数即可:dotnet publish -f net6.0-windows10.0.19041.0 -c Release /p:RuntimeIdentifierOverride=win10-x64 /p:AppxPackageVersion=1.0.0.6也可以拆分主版本和修订号分别指定:
dotnet publish -f net6.0-windows10.0.19041.0 -c Release /p:RuntimeIdentifierOverride=win10-x64 /p:PackageVersion=1.0.0 /p:PackageVersionRevision=6持久化版本到项目文件(可选)
如果需要固定版本,可在项目的Windows目标配置中添加版本属性,避免每次命令行输入:
在.csproj文件中添加以下配置块:<PropertyGroup Condition="'$(TargetFramework)' == 'net6.0-windows10.0.19041.0'"> <AppxPackageVersion>1.0.0.6</AppxPackageVersion> </PropertyGroup>之后直接执行基础publish命令即可生效。
清理构建缓存
旧构建缓存可能导致版本未更新,先执行清理再发布:dotnet clean dotnet publish -f net6.0-windows10.0.19041.0 -c Release /p:RuntimeIdentifierOverride=win10-x64 /p:AppxPackageVersion=1.0.0.6
为什么之前的方法无效
<ApplicationDisplayVersion>和<ApplicationVersion>是MAUI跨平台版本字段,不会同步覆盖Windows应用包的版本,Windows包版本优先级由AppxPackageVersion控制。- 手动修改
Platform->Windows->app.manifest中的assemblyIdentity版本会被MSBuild构建过程自动覆盖,无法生效。 dotnet publish的--version参数是通用发布参数,不适用于Windows应用包的版本控制逻辑,必须使用Windows特定的MSBuild属性。
内容的提问来源于stack exchange,提问作者Franco
相关产品推荐
相关产品推荐

