无法加载文件或程序集"Oracle.DataAccess"或其依赖项之一.尝试加载格式不正确的程序

Sme*_*nni 14 asp.net oracle iis-7 gac windows-server-2008

我在IIS 7.0 Windows Server 2008 R2 64bit上安装了一个Web应用程序.我指的是oracle.DataAccess.dll; 当我尝试访问应用程序时,我收到以下消息:"无法加载文件或程序集'Oracle.DataAccess'或其依赖项之一.尝试加载格式不正确的程序." 请问有人帮帮我吗?

Geo*_*etu 16

似乎使用"带有Xcopy部署的11.2版本3(11.2.0.2.1)"版本的Oracle数据访问组件安装过程已被破坏.要解决此问题,您必须在GAC中注册缺少的程序集.要对此特定版本执行此操作,请在管理员控制台中运行以下命令:

md C:\Windows\assembly\GAC_32\Oracle.DataAccess\4.112.2.0__89b483f429c47342\

copy %ORACLE_HOME%\odp.net\bin\4\Oracle.DataAccess.dll C:\Windows\assembly\GAC_32\Oracle.DataAccess\4.112.2.0__89b483f429c47342\

md C:\Windows\assembly\GAC_32\Oracle.Web\4.112.2.0__89b483f429c47342\

copy %ORACLE_HOME%\asp.net\bin\4\oracle.web.dll C:\Windows\assembly\GAC_32\Oracle.Web\4.112.2.0__89b483f429c47342\
Run Code Online (Sandbox Code Playgroud)

请注意,这仅注册DLL而不注册其他语言资源.因此,如果您使用的是除英语之外的任何其他语言(de,es,fr,it,ja,ko,pt-BR,zh-CHS和zh-CHT),那么您还需要使用相应的资源注册这些语言文件.

如果您在计算机上安装了Visual Studio,则可以发出以下命令:

gacutil /i %ORACLE_HOME%\odp.net\bin\4\Oracle.DataAccess.dll
gacutil /i %ORACLE_HOME%\asp.net\bin\4\oracle.web.dll
Run Code Online (Sandbox Code Playgroud)

注意:在Visual Studio安装文件夹下查找gacutil.exe.

希望这可以帮助.

PS或者你可以尝试这个.

  • 您发布的链接解决了我的问题.谢谢. (2认同)

Jer*_*ook 12

我通过将应用程序池的"启用32位应用程序"设置为true来避免在GAC中注册11.2版本5程序集.


小智 5

您需要使用GAC util在实时服务器上注册该DLL.还要检查它是否存在于bin文件夹中.有时在bin目录中缺少dll会导致相同的错误

  • 我想将你的答案标记为有用,但我没有足够的代表.还是非常感谢. (2认同)