【问题标题】:COULD NOT LOAD TYPE 'System.Security.Principal.WindowsImpersonationContext' from assembly 'mscorlib'无法从程序集“mscorlib”加载类型“System.Security.Principal.WindowsImpersonationContext”
【发布时间】:2021-07-30 15:30:51
【问题描述】:

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

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

myDbContext.Database.Connection.Open(); 

此行导致以下错误

System.TypeLoadException:'无法加载类型 程序集中的“System.Security.Principal.WindowsImpersonationContext” 'mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=xxx'。'

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

我尝试了什么:

  • 卸载 - 重新安装 Oracle.ManagedDataAccess.EntityFramework,
  • 其他 Oracle 连接器(Oracle.ManagedDataAccess、Oracle.ManagedDataAccess.Core)也是如此
  • 安装 System.Security.Principal
  • 将目标框架从 3.1 更改为 5

我首先访问了此页面 'System.Security.Principal.WindowsImpersonationContext' from assembly 'mscorlib' error when trying to parse template with Razor Engine,但没有找到任何可以帮助我解决此问题的内容。

【问题讨论】:

  • 同样有效,我没有将 Framework 3.1 升级到 5,也没有安装 System.Security.Principal .. 只是单独安装了 Oracle.ManagedDataAccess、Oracle.ManagedDataAccess.Core,之前我有 Oracle.ManagedDataAccess、Oracle .ManagedDataAccess 单独
  • 解决方案有更新吗?

标签: asp.net oracle entity-framework


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 2016-01-02
    相关资源
    最近更新 更多