VS2022打包项目因处理器架构不匹配失败,求商店打包方案
解决WPF打包Microsoft Store时MSIL与x86架构不匹配问题
以下是针对该问题的具体解决步骤:
1. 修正WPF项目的生成配置
- 右键WPF项目 → 属性 → 生成标签页:
- 确认“平台目标”设置为
Any CPU - 取消勾选首选32位选项(这是关键,勾选该选项会强制生成x86架构的输出,即使平台目标是Any CPU)
- 确认“平台目标”设置为
- 切换到发布标签页,点击配置文件设置,确认“目标运行时”选择
Portable (默认),不要指定win-x86这类特定架构。
2. 清理残留编译文件并重新生成
- 点击菜单栏【生成】→【清理解决方案】
- 手动删除WPF项目根目录下的
bin和obj文件夹,彻底清除旧的x86编译产物 - 重新生成整个解决方案,再尝试创建应用包
3. 检查打包项目的配置
- 右键打包项目 → 属性 → 打包标签页:
- 确认“生成”区域的“目标平台”设置为
Neutral
- 确认“生成”区域的“目标平台”设置为
- 打开配置管理器(菜单栏【生成】→【配置管理器】):
- 确保打包项目和WPF项目的
Release配置对应的平台均为Any CPU,无意外修改为x86的情况
- 确保打包项目和WPF项目的
4. 检查项目文件中的硬编码配置
- 右键WPF项目 → 编辑项目文件(.csproj):
- 查找是否存在
<RuntimeIdentifier>win-x86</RuntimeIdentifier>或类似指定特定架构的行,若有则删除,或替换为<RuntimeIdentifier>portable</RuntimeIdentifier>
- 查找是否存在
- 同样检查打包项目的
.wapproj文件,确保未指定固定的RuntimeIdentifier
5. 排查第三方依赖问题
如果项目引用了仅支持x86架构的第三方库,需统一调整整个解决方案的目标架构:
- 将所有项目的“平台目标”改为
x86 - 打包项目的“目标平台”改为
x86 - 重新生成并打包
内容的提问来源于stack exchange,提问作者ispiro
相关产品推荐
相关产品推荐

