通过IIS连接oracle时报“Could not load file or assembly 'Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.”
原因:IIS的应用池配置的是64位.net frame.但引用的Oracle.DataAccess.DLL是32位的,导致报错。
解决办法:
一、找一个64位的Oracle.DataAccess.DLL文件并放入网站bin目录内;
二、打开IIS网站目录下的Web.Config文件。在<configuration>节点内增加如下内容:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
<bindingRedirect oldVersion="2.112.3.0" newVersion="4.112.4.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
配置说明:
1、assemblyIdentity节点内的name、publicKeyToken分别配置出错信息中提示的文件名、PublicKeyToken.
2、bindingRedirect节点内 oldVersion配置出错信息提示的版本号、newVersion配置第一步中64位文件的版本号。