未能从程序集“Oracle.ManagedDataAccess”加载 “OracleInternal.Common.ConfigBaseClass”

使用VS2015做项目的过程中一直使用的服务器上的oracle数据库,后来想学习一下oracle,就在本机安装了oracle。可没想到本来运行好好的项目,现在不能运行了。项目是使用的Abp框架,当运行到DbContext的构造函数时,报如下错误:

打开来看,为{"未能从程序集“Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342”中加载类型

“OracleInternal.Common.ConfigBaseClass”。":"OracleInternal.Common.ConfigBaseClass"}

 

最后百般查找原因,竟是因为本机装的oracle的原因!本机的Oracle.ManagedDataAccess和项目中安装的Oracle.ManagedDataAccess相冲突。

 

解决方法也很简单:

找到本机的{Oracle home}\product\{version}\client_64\ODP.NET\managed\x64目录,在用管理员身份打开命令行,切换到这个目录
运行OraProvCfg /action:ungac /providerPath:Oracle.ManagedDataAccess这条命令。

 

转载于:https://www.cnblogs.com/renrsh/p/8491851.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: oracle.manageddataaccessOracle官方推出的用于.NET应用程序开发的数据访问组件,它提供了基于.NET Framework的高性能、高可靠性的Oracle数据库连接和数据操作功能。其中,版本号是版本进行区分的一种方式,版本不断升级修复了许多漏洞和问题,增强了程序的性能和稳定性。 当我们选择使用oracle.manageddataaccess时,需要选用适合的版本。最新版本并不一定是最好的,我们需要按具体情况选择版本。对于一些较老的应用,可能需要使用较旧版本的oracle.manageddataaccess,以兼容性。同时,不同版本的oracle.manageddataaccess也有一些实现方式不同、对应的Oracle数据库版本不同等方面的差异。 目前,最新的oracle.manageddataaccess版本为21.3.0,它支持.NET Framework的4.8版本,并支持Oracle数据库的19c、18c、12c和11g等版本。在使用oracle.manageddataaccess时,我们可以参考官方文档,根据自己的实际情况,选择使用合适的版本。 ### 回答2: Oracle.ManagedDataAccessOracle官方提供的Oracle数据库驱动程序,用于.NET应用程序Oracle数据库之间的通信。它是Oracle.DataAccess的替代品,且功能更加强大且稳定。 Oracle.ManagedDataAccess分为两种类型,一种是Oracle.ManagedDataAccess.dll,另一种是Oracle.ManagedDataAccess.EntityFramework.dll。前者是供.NET Framework应用程序使用的标准驱动程序,而后者是为使用EF技术的应用程序提供的驱动程序。 目前Oracle.ManagedDataAccess的最新版本是19.12.0.0,该版本是Oracle数据库19c的驱动程序,支持.NET Framework 4.7.2及以上版本以及.NET Core 2.1和.NET Core 3.1版本。此外,Oracle.ManagedDataAccess还支持ASP.NET Core应用程序在Linux和Docker容器上的部署。 相较于Oracle.DataAccessOracle.ManagedDataAccess具有更好的性能和可靠性。因为它基于ADO.NET technology,具有更好的连接控制和资源管理,可以更好地处理数据量大的场景。同时,它还支持使用.NET的自动垃圾回收机制来管理内存,减少内存泄漏的风险。 总之,Oracle.ManagedDataAccess是一款优秀的Oracle数据库驱动程序,具有更强的功能和更好的性能和可靠性。随着.NET技术的不断发展,Oracle.ManagedDataAccess也将不断升级更新,满足各种.NET应用程序Oracle数据库的需求。 ### 回答3: Oracle.ManagedDataAccessOracle数据库连接库的一个版本,它是由Oracle公司推出的一种托管的、基于.NET Framework的数据提供程序。它是用在.NET应用程序中连接Oracle数据库的主要组件之一。 Oracle.ManagedDataAccess提供了一个高效且易于使用的接口,让开发人员可以更加简单地连接和交互Oracle数据库。与其他Oracle连接库相比,它拥有更好的性能和更好的稳定性。 作为一种托管库,Oracle.ManagedDataAccess可以在.NET应用程序中进行垃圾回收,从而使得开发人员可以更加方便地开发和维护应用程序。此外,它还支持Oracle数据库的所有最新功能,如JSON支持、谓词下推等。 目前,Oracle.ManagedDataAccess已经发布了多个版本,每个版本都带来了各种改进和优化。最新版本是Oracle.ManagedDataAccess 21c,它支持Oracle数据库的新功能,并提供更好的性能和可靠性。 总之,Oracle.ManagedDataAccess是一个重要的组件,它使得.NET开发人员可以更加方便地连接和交互Oracle数据库。随着其不断的发展和改进,它将在.NET应用程序中发挥越来越重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值