CS0433错误; Oracle错误

时间:2015-04-24 14:11:04

标签: c# oracle11g odp.net

当我尝试运行使用Oracle 11g数据库的Web应用程序时,我得到:

CS0433: The type 'Oracle.DataAccess.Client.OracleDataReader' 
exists in both 
'c:\Windows\assembly\GAC_32\Oracle.DataAccess\2.121.1.0__89b483f429c47342\oracle.dataaccess.dll' 
and 
'c:\Windows\Microsoft.NET\assembly\GAC_32\Oracle.DataAccess\v4.0_4.121.1.0__89b483f429c47342\Oracle.DataAccess.dll'

我尝试了不同的方法来添加对Oracle.DataAccess.DLL和Oracle.Web.DLL的引用,使用GAC中的DLL,将DLL复制到bin文件夹(来自C:\Oracle\product\11.2.0\client_1\ASP.NET\bin\2.x)并在那里引用它,但是可以不要动摇这个错误。

它发生在:

Line 136:        private List<TrackerObject> MapDbData(OracleDataReader dr)
Line 137:        {

web.config包含:

<compilation defaultLanguage="c#" debug="true" targetFramework="4.0">
  <assemblies>
    <add assembly="Oracle.DataAccess, 
         Version=2.112.3.0, 
         Culture=neutral, 
         PublicKeyToken=89B483F429C47342"/>

我也尝试按照某些网站的建议卸载该策略,但无济于事:

gacutil /u Policy.2.102.Oracle.DataAccess 

1 个答案:

答案 0 :(得分:0)

由于某些原因,似乎Oracle数据提供程序的.Net版本2.0和4.0都被添加到您的项目中。确定为什么会出现不同版本,使用一个目标版本进行修复和构建。