0

我目前在使用 Windows 应用程序打包项目 (WAPP) 打包时遇到了更多问题。

我希望将我的 WPF 应用程序打包到与 32 位和 64 位系统兼容的应用程序包中。在我自己的应用程序中,我添加了 WAPP 并根据此Microsoft Docs 文章引用它,同时在项目属性中进行初始设置,并使用配置管理器为我的 WPF 项目进行 x64 和 x86 配置。

调试 WAPP 正常运行,没有问题。当我转向发布时,我将其设置为侧载,选择签名并选择捆绑发布 x64 和 x86 配置。在发布过程中,x86 构建首先运行没有问题,但是在执行 x64 部分时,我遇到了这个错误:

正在构建的项目的处理器架构“AMD64”与参考的处理器架构“C:\Users\UserFolder\Documents\InstallerDemoSourceCode\WPFDemoApp\bin\x86\Debug\netcoreapp3.1\win-x86”不匹配\WPFDemoApp.dll”、“x86”。这种不匹配可能会导致运行时失败。

我花了一段时间制作新的 Wpf 项目并使用 MSIX 下载其他 WPF 项目的示例,并尝试发布,但都以相同的错误结束,这似乎表明 VS 或我的 PC 存在问题。

我什至尝试使用此有用视频中未更改的项目,他能够完全按照我想要的方式构建它,但由于此错误而无法执行相同操作。


但是,我确实在 x64 构建输出中注意到该构建正在使用我的 x86 对象而不是 x64。您甚至可以在错误中看到它引用的 DLL 在 x86 文件夹中。这可能是一个错误吗?

任何线索都是无价的


更新#1: 响应@JonasH 的建议,尝试在 AnyCPU 模式下发布应用程序,但收到了一个替代错误:

正在构建的项目的处理器架构“MSIL”与参考的处理器架构“C:\Users\jacob\OneDrive\Documents\InstallerDemoSourceCode\WPFDemoApp\bin\x86\Debug\netcoreapp3.1\win”不匹配-x86\WPFDemoApp.dll”、“x86”。这种不匹配可能会导致运行时失败。

4

1 回答 1

0

所以我可以通过在配置管理器中重新选择配置来解决这个问题。即选择 Any CPU Profile 重新选择所有项目构建配置文件为 Any CPU,冲洗并重复 x64 和 x86。这不知何故奏效了?

我仍然无法以任何 CPU 的形式发布,但有关将桌面应用程序(WinForms、WPF 等)发布到任何 CPU 的所有信息都表明您需要明确使用 x86 和 x64,因为该选项似乎仅适用于 UWP。

于 2020-06-23T12:03:11.147 回答