【问题标题】:Error when setting up desktop application for MSIX packing in Visual Studio在 Visual Studio 中为 MSIX 打包设置桌面应用程序时出错
【发布时间】:2021-07-07 23:54:39
【问题描述】:

我跟随微软官方团队的this tutorial 使用Visual Studio 中的Windows Application Packaging Project project 为我的WPF 桌面应用程序生成一个包。注释here 内容为:If you're packaging a desktop application, right click on the the Windows Application Packaging Project node.。所以我就这么做了(如下所示)。但是在向导结束时,我得到了下面最后显示的错误:

备注:我的WPF项目MyWPFProject.NET 5项目,Application Packaging Project项目名称为WapProjTemplate1。我正在使用VS2019 的最新版本16.9.3

问题:为什么会出现错误,我们该如何解决。如下图所示,我的两个项目都针对同一个平台。

错误:正在构建的项目“MSIL”的处理器架构与参考“C:\MyFolder\MyWPFProject\bin\x86\Debug\net5.0-windows\win-”的处理器架构不匹配x86\MyWPFProject.dll”、“x86”。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改项目的目标处理器体系结构,以便在项目和参考之间对齐处理器体系结构,或者依赖具有与项目的目标处理器体系结构匹配的处理器体系结构的参考。 WapProjTemplate1 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets

【问题讨论】:

  • 我遇到了同样的错误,不得不将平台更改为 x86 以抑制它。不过,这只是一种解决方法。
  • @emoacht 我将平台更改为 x64,并在用户@HuiLiu-MFST 的屏幕截图中设置了下面显示的两个值,以使其正常工作。我同意这是一种解决方法。我想知道如何使它适用于Any CPU
  • 完全同意。 Any CPU 应该可以工作。

标签: c# wpf visual-studio visual-studio-2019


【解决方案1】:

请尝试如下修改您的配置管理器:

完成以上步骤后,请右击您的WapProjTemplate1,在弹出的窗口中选择Publish并选择Create App Packages...然后选择选择和配置包向导中为架构发布,如下所示:

更新:

在 86 位 Windows 操作系统上:使用 Any CPU 编译的可执行文件和 DLL 在 32 位 CLR 上执行。 在 64 位 Windows 操作系统上:使用 Any CPU 编译的 DLL 在与加载它的进程相同的 CLR 上执行。使用 Any CPU 编译的可执行文件在 64 位 CLR 上执行。 程序的目标平台和引用的 DLL 在运行时应该是一致的。一般来说,我们可以根据实际需要将程序的Target Platform设置为与部署的操作系统一致,DLL最好是Any CPU。特殊的部署环境需要特殊考虑。 可能是因为您的项目与“任何 CPU”兼容,但您依赖于 x86 或 x64 的项目或 DLL。由于您有 x86 依赖项,因此从技术上讲,您的项目与“任何 CPU”不兼容。

【讨论】:

  • 右键单击-->发布-->创建应用程序包后,我得到一个标题为Select Distribution Method 的对话框,其中只有两个选项:Microsoft Store under new app nameSideLoading。我不明白你正在显示的屏幕。我正在使用VS2019 - ver 16.9.3 社区版。
  • 我通过将平台设置为x64 重新开始了一个新的WPF .NET 5 项目。在按照您的说明进行操作后,我能够创建 MSIX 捆绑包来部署应用程序。您在帖子中错过了一个额外的步骤。我做了以下步骤:右键单击打包项目->发布->创建应用程序包->标题为Select Distribution Method 的对话框出现在我选择 SideLoading 的位置。然后您在帖子中显示的屏幕出现了,我在其中设置了您推荐的值 - 它有效(谢谢)。我仍然想知道为什么Any CPU 不起作用。
  • 嗨,@ nam。我已经更新了我的答案,你可以检查一下。
猜你喜欢
  • 2017-06-29
  • 2020-12-09
  • 2021-09-27
  • 2016-08-26
  • 2011-07-02
  • 1970-01-01
  • 2021-08-11
  • 2010-09-05
  • 2015-12-06
相关资源
最近更新 更多