我有一个 VS 2012 Web 项目。我安装了 ODP.NET,因为我们是 Oracle Workshop。我继承了一个使用 Oracle.ManagedAccess.Data 和 EF 的项目。
在 VS 2012 中运行项目时,出现以下错误:
There is a duplicate 'oracle.manageddataaccess.client' section defined..
解决方案是禁用 web.config 中的以下行
<!--<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />-->
这很好。该项目已编译,但在执行一个简单的命令(例如在必须读取数据库的地方取回密码)时,又出现了另一个错误:
System.Data.ConstraintException: Column 'InvariantName' is constrained to be unique. Value 'Oracle.ManagedDataAccess.Client' is already present.
现在我知道错误是由 ODP.NET 触发的,并且它存在于 GAC 中,因此会出现双重错误报告。
我应该注释掉另一行还是有办法短暂禁用 ODP.NET?我不想安装该客户端,因为我将它用于其他项目。
谢谢