当我尝试运行使用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
答案 0 :(得分:0)
由于某些原因,似乎Oracle数据提供程序的.Net版本2.0和4.0都被添加到您的项目中。确定为什么会出现不同版本,使用一个目标版本进行修复和构建。