无法从程序集“mscorlib”加载类型“System.Security.Principal.WindowsImpersonationContext”

Son*_*yet 5 asp.net oracle entity-framework

我正在创建一个 ASP.NET API Core 应用程序来处理与 Oracle 数据库通信的 API 服务。

\n

在运行时,当进程尝试通过 DbContext(实体框架)使用新的 Oracle 连接连接到数据库时,会出现未处理的错误并强制应用程序停止。

\n
myDbContext.Database.Connection.Open(); \n
Run Code Online (Sandbox Code Playgroud)\n

该行会导致以下错误

\n
\n

System.TypeLoadException\xc2\xa0: \'无法从程序集加载类型\n\'System.Security.Principal.WindowsImpersonationContext\'\n\'mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=xxx\' .\'

\n
\n

我有一个旧的但类似的项目,它使用相同的代码并且工作正常。\n使用的库与 Oracle Connector 相同:Oracle.ManagedDataAccess.EntityFramework

\n

我尝试过的:

\n
    \n
  • 卸载 - 重新安装 Oracle.ManagedDataAccess.EntityFramework,
  • \n
  • 对于其他 Oracle 连接器( Oracle.ManagedDataAccess、Oracle.ManagedDataAccess.Core )也是如此
  • \n
  • 安装系统.安全.主体
  • \n
  • 将目标框架从 3.1 更改为 5
  • \n
\n

当尝试使用 Razor 引擎解析模板时,我首先从程序集“mscorlib”错误进入此页面“System.Security.Principal.WindowsImpersonationContext” ,但没有找到任何可以帮助我解决此问题的内容。

\n

小智 8

对于 dot net 6,我遇到了同样的异常。只保留包:Oracle.ManagedDataAccess.Core 并删除与 oracle 相关的所有其他包,它可以工作。