Oracle数据提供程序已安装但未进行机器级配置(.NET)。

8

我重新安装了ODAC Oracle,但仍然收到以下错误:

"Oracle Data Provider for .NET已安装,但没有进行机器范围的配置。然而,在全局程序集缓存中检测到了一个版本不兼容的Oracle Data Provider for .NET。请从全局程序集缓存中删除Oracle Data Provider for .Net并重新启动Visual Studio"

我应该关注这个警告吗?


你安装了哪个版本的ODAC?它是否与你安装的Oracle客户端相匹配?在你的*.csproj或*.vbproj文件中,你有哪些引用? - Wernfried Domscheit
1
我意识到我安装了不同版本的ODAC和客户端。我将其删除并重新安装了相同的11.2.0.3版本,但是出现了以下错误:ADO.NET提供程序的不变名称“Oracle.ManagedDataAccess.Client”未在计算机或应用程序配置文件中注册,或者无法加载。请参见内部异常以获取详细信息。我想我删除了太多...非常感谢您的帮助。 - helpME1986
你搞混了什么,给我们看看你的代码。 - Wernfried Domscheit
看起来不像是代码的问题。我卸载了所有的Oracle客户端,然后安装了ODAC 12.0.2,它可以正常工作。我的意思是,我没有收到任何警告,并且我可以使用代码优先和数据库优先的方法修改数据库。似乎ODAC包含了客户端驱动程序,或者我完全错了? - helpME1986
1个回答

0

我做了很多没有帮助的事情。 但有一件事情是有效的: 以管理员模式打开Visual Studio命令提示符 https://learn.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs

在那里,您必须使用gacutil /l列出所有程序集 https://learn.microsoft.com/en-us/dotnet/framework/tools/gacutil-exe-gac-tool

然后删除包含oracle的每个条目:

gacutil /u [assembly name]

你可以从之前的列表中获取程序集名称。只需使用第一个逗号之前的术语(例如Oracle.ManagedDataAccess

之后我打开了Visual Studio,错误消息消失了。 发生的事情是,在machine.config中有需要删除的条目。您需要删除哪个条目,可以在调试代码时显示错误。

希望这能帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接