在ARM64环境下发布可运行于Windows x64的.NET MAUI应用可行吗?
.NET MAUI跨架构编译(ARM64环境生成x64 Windows应用)
.NET完全支持从ARM64环境生成x64架构的.NET MAUI Windows应用,包括可侧载的安装包(默认产出MSIX格式,可按需转换为MSI)。以下是具体实现步骤和示例:
1. 配置编译环境
在ARM64的Windows 11虚拟机中完成前置准备:
- 安装与项目匹配的.NET SDK(如.NET 8,需和MAUI版本一致)
- 安装MAUI Windows工作负载:
dotnet workload install maui-windows - 确保安装Windows SDK的x64编译组件:可通过Visual Studio安装器勾选「Desktop development with C++」工作负载中的x64目标支持,或执行
dotnet workload update补全依赖组件。
2. 调整项目配置
编辑.NET MAUI项目的.csproj文件,添加或修改以下配置项:
<PropertyGroup> <!-- 指定Windows目标框架,根据项目使用的.NET版本调整 --> <TargetFrameworks>net8.0-windows10.0.19041.0</TargetFrameworks> <!-- 设定目标平台为x64 --> <PlatformTarget>x64</PlatformTarget> <!-- 指定运行时标识符为win-x64 --> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <!-- 启用MSIX包格式(侧载默认格式) --> <WindowsPackageType>MSIX</WindowsPackageType> <!-- 开启侧载支持 --> <AppxPackageSideLoadingEnabled>true</AppxPackageSideLoadingEnabled> <!-- 禁用自动商店签名(侧载无需此步骤) --> <AppxPackageSigningEnabled>false</AppxPackageSigningEnabled> </PropertyGroup>
3. 执行跨架构发布
通过命令行执行发布指令,生成x64侧载包:
dotnet publish -f net8.0-windows10.0.19041.0 -c Release -r win-x64
发布完成后,可在项目目录的bin/Release/net8.0-windows10.0.19041.0/win-x64/publish路径下找到生成的MSIX包。
4. 转换为MSI格式(可选)
若需MSI安装包,可使用Windows SDK中的MSIX打包工具将生成的MSIX转换为MSI,或通过第三方打包工具完成格式转换。
内容的提问来源于stack exchange,提问作者ByteSyzeBuddha
相关产品推荐
相关产品推荐

