【发布时间】:2012-11-30 08:50:24
【问题描述】:
我有一台安装了 oracle 11gR2 客户端的 Windows 7x64 机器。我能够运行使用“Oracle.DataAccess”连接到 oracle 的 c# 应用程序(在 ASP .Net 开发服务器而不是 IIS 中),直到我不得不重新安装我的 VS。现在我得到一个错误
无法加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或其依赖项之一。试图加载格式不正确的程序。
我再次尝试重新安装 oracle 和 VS,但仍然有问题。当我运行 gacutil 它说
全局程序集缓存包含以下程序集: Oracle.DataAccess,版本=2.112.1.0,文化=中性,PublicKeyToken=89b483f4 29c47342,处理器架构=AMD64
fuslow 给出以下输出
Assembly Binder 日志条目(30/11/2012 @ 12:49:44 PM)
手术成功。 绑定结果:hr = 0x0。操作成功完成。
从以下位置加载程序集管理器:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 在可执行文件 C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer.exe 下运行 --- 详细的错误日志如下。
预绑定状态信息 日志:用户 = KANISHKA\管理员
日志:DisplayName = Oracle.DataAccess (部分)
日志:Appbase = file:///D:/Visual Studio Projects/CSharp Projects/Web/eReconciliation Statements/01 - 主干/eReconciliationStatements/
日志:初始 PrivatePath = D:\Visual Studio Projects\CSharp Projects\Web\eReconciliation Statements\01 - Trunk\eReconciliationStatements\bin
日志:动态基础 = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\a5cf2b76
日志:缓存基础 = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\a5cf2b76 日志:AppName = acd2b7a
调用程序集:(未知)。LOG:此绑定在默认加载上下文中开始。
日志:使用应用程序配置文件:D:\Visual Studio Projects\CSharp Projects\Web\eReconciliation Statements\01 - Trunk\eReconciliationStatements\web.config
日志:使用 C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config 中的机器配置文件。
日志:此时未将策略应用于引用(私有、自定义、部分或基于位置的程序集绑定)。
日志:正在尝试下载新的 URL 文件:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/a5cf2b76/acd2b7a/Oracle.DataAccess.DLL。
日志:正在尝试下载新的 URL 文件:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/a5cf2b76/acd2b7a/Oracle.DataAccess/Oracle.DataAccess.DLL。 日志:正在尝试下载新的 URL 文件:///D:/Visual Studio Projects/CSharp Projects/Web/eReconciliation Statements/01 - Trunk/eReconciliationStatements/bin/Oracle.DataAccess.DLL。
LOG:程序集下载成功。尝试设置文件:D:\Visual Studio Projects\CSharp Projects\Web\eReconciliation Statements\01 - Trunk\eReconciliationStatements\bin\Oracle.DataAccess.dll LOG:进入下载缓存设置阶段。
日志:程序集名称为:Oracle.DataAccess,版本=2.112.1.0,文化=中性,PublicKeyToken=89b483f429c47342
LOG:部分指定的程序集绑定从应用程序目录成功。需要重新申请政策。
日志:使用应用程序配置文件:D:\Visual Studio Projects\CSharp Projects\Web\eReconciliation Statements\01 - Trunk\eReconciliationStatements\web.config 日志:使用 C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config 中的机器配置文件。
日志:后策略参考:Oracle.DataAccess,版本=2.112.1.0,文化=中性,PublicKeyToken=89b483f429c47342
日志:GAC 查找失败。
警告:将程序集项复制到缓存时发现重复程序集。
LOG:绑定成功。从 C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\a5cf2b76\acd2b7a\assembly\dl3\037e6e93\00d336f9_73c1ca01\Oracle.DataAccess.dll 返回程序集。
LOG:程序集在默认加载上下文中加载。
它说 GAC 查找不成功。任何人都可以在这个问题上帮助我。我也尝试过让项目以 x64 方式运行。
【问题讨论】:
-
我发现只有网络应用有这个问题。我尝试运行一个运行良好的控制台和 Windows 窗体应用程序。我也确实允许每个人都访问 oracle 文件夹,但没有运气。
标签: visual-studio-2008 oracle11gr2