【问题标题】:Including UWP project in WPF project raises runtime errors在 WPF 项目中包含 UWP 项目会引发运行时错误
【发布时间】:2019-12-10 07:59:33
【问题描述】:

我从事的项目需要在 WPF 窗口内显示来自 UWP 库的 UWP 控件。 这是我的工作所依据的文档页面(查看添加自定义 UWP 控件的部分): https://docs.microsoft.com/en-us/windows/communitytoolkit/controls/wpf-winforms/windowsxamlhost#add-a-custom-uwp-control

已设置 WPF 窗口,它在运行时显示标准 UWP 控件(如按钮)就好了。但是,当我包含 UWP 项目时,WPF 窗口会在启动时抛出异常(在 EF 的上下文初始化时)。

Could not load file or assembly 'Windows.Foundation.UniversalApiContract, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

我使用的Sqlite版本是1.0.88.0,EF是5。但是和这些库冲突没有任何意义?

【问题讨论】:

    标签: wpf xaml uwp shared-libraries


    【解决方案1】:

    通过将 SQLite 包更新到 1.0.111.0 并将 EF 更新到版本 6.2.0 来修复启动问题。

    【讨论】:

      【解决方案2】:

      在 WPF 项目中包含 UWP 项目会引发运行时错误

      来源于官方document,我创建示例项目。在构建项目时,它会抛出许多导致程序集丢失的错误。添加Windows.winmd 文件后,一切正常。您可以尝试将C:\Program Files (x86)\Windows Kits\10\UnionMetadata\Windows.winmd 中的Windows.winmd 文件添加到WPF 应用参考。

      详细步骤

      右键项目引用->添加引用->浏览(文件类型所有文件)->选择Windows.winmd

      还有这个你可以参考this的示例项目。

      【讨论】:

      • 尼科,我已经这样做了。您可以查看我最初的帖子,它在我使用标准 UWP 控件(如 UWP 按钮)时有效。还包括必要的参考资料,如:docs.microsoft.com/en-us/windows/apps/desktop/modernize/…
      • 正确,但我按照文档创建示例项目,效果很好,我无法重现您的问题。
      • 你的项目也和我的项目一样——而且效果很好。但是,在添加对 SqlLite 和 EF 的引用后,当 EF 上下文初始化时,UWP 代码会在运行时中断。你试过吗?
      • 我没有在项目中添加EF。
      • 我已通过将 SQLite 包更新到 1.0.111.0 并将 EF 更新到版本 6.2.0 来解决启动问题。
      猜你喜欢
      • 2021-06-24
      • 1970-01-01
      • 2019-01-02
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 2020-07-30
      • 1970-01-01
      • 2014-03-13
      相关资源
      最近更新 更多