调用标准库 DLL 时无法加载文件或程序集“Microsoft.EntityFrameworkCore”

Could not load file or assembly 'Microsoft.EntityFrameworkCore, when calling Standard Library DLL

我有以下带有 XAF Winforms 的堆栈,Entity Framework 项目;

Framework 4.72 exe which references
Framework 4.7.2 library1 which references
.Net Standard 2.0 library2 which references
.Net Standard 2.0 library3

在堆栈中向下调用 library3 中的方法会产生异常。

System.IO.FileNotFoundException
  HResult=0x80070002
  Message=Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=3.1.9.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or one of its dependencies. The system cannot find the file specified.

我能够在直接调用 Library2 的 Framework 4.7.2 单元测试中重现该问题并解决该问题。

为了解决单元测试中的问题,我使用 BindingRedirectGenerator 生成单元测试的运行时部分 app.config 根据我的问题

的答案

然而,当我为应用程序使用生成的部分时,这不起作用 app.config

[更新]

我认为问题在于 Library3 调用了框架库...正在调查。

这是我问的问题的一种形式 然而,即使在我仍然被抓住之前问了这个问题。 解决方案是创建一个带有对话框的单元测试项目,然后在消息框中,运行 BindingRedirectGenerator 使 app.config

我正在征求关于这个问题是否有用(因为问题是以不同的方式遇到的)或应该关闭的建议。

无法使该技术适用于 .exe 的问题似乎是与从标准库调用框架库有关的新问题。