You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI如何通过命令行生成Appx文件夹以打包MSIX(Azure DevOps场景)

.NET MAUI Windows平台命令行生成Appx文件夹及自动化打包方案

不需要依赖Azure DevOps第三方MSIX扩展,直接使用.NET SDK原生的publish命令即可生成和Visual Studio部署时完全一致的松散Appx文件夹,后续再配合Windows SDK工具完成MSIX打包和签名即可实现全自动化流程。

具体实现步骤

  • 第一步:执行dotnet publish命令生成Appx文件夹
    对应命令如下,可根据实际项目的框架版本、架构调整参数:
    dotnet publish <你的项目.csproj> -f net6.0-windows10.0.19041.0 -c Release -p:Platform=x64 -p:WindowsAppSDKSelfContained=true -p:CreateAppxPackage=false -p:OutputPath=./ci-build
    执行完成后,Appx文件夹会生成在./ci-build/Release/net6.0-windows10.0.19041.0/win10-x64/Appx路径下,包含所有资源、依赖DLL和自动生成的AppxManifest.xml文件。
  • 第二步:调用MakeAppx工具打包为MSIX文件
    Azure DevOps的Windows托管代理默认已预装对应版本的Windows SDK,直接调用即可:
    "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\MakeAppx.exe" pack /d ./ci-build/Release/net6.0-windows10.0.19041.0/win10-x64/Appx /p ./output/应用名称.msix
  • 第三步:调用Signtool完成MSIX签名
    签名用的证书PFX文件和密码建议存储在Azure DevOps的安全变量/安全文件中,避免硬编码泄露:
    "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\SignTool.exe" sign /f 你的证书.pfx /p $(证书密码变量) /fd SHA256 ./output/应用名称.msix

注意事项

  • 命令中的目标框架版本(net6.0-windows10.0.19041.0)需和项目csproj中配置的Windows目标版本保持一致,使用.NET 7/8的项目对应修改为net7.0-windows、net8.0-windows即可
  • Platform参数必须指定为x64/x86/ARM64中的一个,不要使用AnyCPU,MAUI Windows打包不支持AnyCPU架构
  • 如果需要生成多架构的MSIX包,可分别执行不同架构的publish命令,再用MakeAppx生成对应架构的安装包

内容的提问来源于stack exchange,提问作者Jacob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:15:05