如何将.NET MAUI项目发布为.msixbundle或.appxbundle
解决.NET MAUI项目发布生成.msixbundle的问题
当你用.NET MAUI项目替换原WinUI应用并上传至Windows Store时,因之前提交的是.msixbundle/.appxbundle,后续提交必须保持bundle格式,可通过以下方式生成:
直接使用命令行发布
执行包含bundle参数的完整发布命令,适配Store上传需求:
dotnet publish -c Release -f net7.0-windows10.0.22621.0 /p:AppxBundle=Always /p:AppxBundlePlatforms="x86|x64|ARM64" /p:UapAppxPackageBuildMode=StoreUpload
参数说明
AppxBundle=Always:强制生成应用包bundleAppxBundlePlatforms="x86|x64|ARM64":指定bundle包含的目标平台,需覆盖原WinUI应用支持的平台范围UapAppxPackageBuildMode=StoreUpload:替换原WinUI使用的CI模式,适配MAUI项目的Store上传构建要求
通过项目文件(csproj)配置
若不想每次命令行输入参数,可在MAUI项目的.csproj文件中添加Windows目标框架专属配置:
<PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-windows10.0.22621.0'"> <AppxBundle>Always</AppxBundle> <AppxBundlePlatforms>x86|x64|ARM64</AppxBundlePlatforms> <UapAppxPackageBuildMode>StoreUpload</UapAppxPackageBuildMode> </PropertyGroup>
配置完成后,直接执行基础发布命令即可自动生成bundle:
dotnet publish -c Release -f net7.0-windows10.0.22621.0
注意事项
- 确保目标框架版本(
net7.0-windows10.0.22621.0)与原WinUI应用一致,避免平台版本不兼容导致的上传问题 - 若使用Visual Studio发布,可在发布向导中选择生成应用包(针对Windows Store),勾选所有需要的平台,向导会自动生成符合要求的.msixbundle
内容的提问来源于stack exchange,提问作者NPadrutt
相关产品推荐
相关产品推荐

