我在Visual Studio 2012中构建了一个Web项目。它使用Oracle.DataAccess.dll 现在,我在解决方案中看到的是4.121版本。但是在项目正在寻找2.122版本的地方收到此错误。 感谢您的提前帮助
下面是堆栈跟踪
===预绑定状态信息=== LOG:DisplayName = Oracle.DataAccess,版本= 2.122.1.0,Culture = neutral, PublicKeyToken = 89b483f429c47342(完全指定)日志:Appbase = 文件:/// C:/ TFS / IVAS / CPTSBaselineCode / FrontEndApplications / CampaignPerformanceTracking / CampaignPerformanceTracking / 日志:初始PrivatePath = C:\ TFS \ IVAS \ CPTSBaselineCode \ FrontEndApplications \ CampaignPerformanceTracking \ CampaignPerformanceTracking \ bin 调用程序集:Aarp.Cpts.DataObjects,Version = 1.0.0.0, 文化=中性,PublicKeyToken =空。 === LOG:此绑定在默认加载上下文中启动。日志:使用应用程序配置文件: C:\ TFS \ IVAS \ CPTSBaselineCode \ FrontEndApplications \ CampaignPerformanceTracking \ CampaignPerformanceTracking \ web.config 日志:使用主机配置文件:日志:使用机器配置 来自的文件 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config。 日志:政策后参考:Oracle.DataAccess,版本= 2.122.1.0, 文化=中性,PublicKeyToken = 89b483f429c47342日志:尝试 下载新网址 文件:/// C:/ Users / XXX / AppData / Local / Temp / 1 / Temporary ASP.NET 文件/vs/ecf130a4/7d736bb0/Oracle.DataAccess.DLL。日志:尝试 下载新网址 文件:/// C:/ Users / XXX / AppData / Local / Temp / 1 / Temporary ASP.NET 文件/vs/ecf130a4/7d736bb0/Oracle.DataAccess/Oracle.DataAccess.DLL。 日志:尝试下载新的URL 文件:/// C:/TFS/IVAS/CPTSBaselineCode/FrontEndApplications/CampaignPerformanceTracking/CampaignPerformanceTracking/bin/Oracle.DataAccess.DLL。 WRN:比较程序集名称导致不匹配:Major 版本ERR:无法完成装配的设置(hr = 0x80131040)。 探测终止。
堆栈跟踪:
[FileLoadException:无法加载文件或程序集 'Oracle.DataAccess,版本= 2.122.1.0,区域性=中性, PublicKeyToken = 89b483f429c47342'或其依赖项之一。的 找到的程序集的清单定义与程序集不匹配 参考。 (来自HRESULT的异常:0x80131040)]
CampaignPerformanceTracking.JobSearch..ctor()在 c:\ TFS \ IVAS \ CPTSBaselineCode \ FrontEndApplications \ CampaignPerformanceTracking \ CampaignPerformanceTracking \ JobSearch.aspx.cs:25 ASP.jobsearch_aspx..ctor()在 c:\ Users \ XXX \ AppData \ Local \ Temp \ 1 \ Temporary ASP.NET 文件\ vs \ ecf130a4 \ 7d736bb0 \ App_Web_xghf0hzg.3.cs:0
__ASP.FastObjectFactory_app_web_xghf0hzg.Create_ASP_jobsearch_aspx()在c:\ Users \ XXX \ AppData \ Local \ Temp \ 1 \ Temporary ASP.NET中 文件\ vs \ ecf130a4 \ 7d736bb0 \ App_Web_xghf0hzg.4.cs:0
System.Web.Compilation.BuildResultCompiledType.CreateInstance()+31
System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath,类型requiredBaseType,HttpContext上下文,布尔值 allowCrossApp)+100
System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext上下文, 字符串requestType,VirtualPath,virtualPath,字符串physicalPath)+31 System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext 上下文,字符串requestType,VirtualPath,virtualPath,字符串 physicalPath)+64
System.Web.HttpApplication.MapHttpHandler(HttpContext上下文,字符串 requestType,VirtualPath路径,String pathTranslated,布尔 useAppConfig)+191
System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +156 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)+48 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤,布尔值和已同步完成)+159
答案 0 :(得分:0)
如果仅看到错误消息,而没有其他任何帮助,那么对您的帮助会有点困难。一些要点:
您在编译选项中设置了哪个版本的.NET Framework?如果设置为3.5或更低,则您的应用程序将尝试加载Oracle.DataAccess.dll 2.xxx。如果设置为4.0或更高版本,则将加载Oracle.DataAccess.dll 4.xxx。
Oracle.DataAccess.dll的体系结构(即32位或64位)必须与应用程序的体系结构相同
您是否安装了Oracle.DataAccess.dll(.NET的Oracle数据提供程序)? -默认情况下,它不包含在Oracle Instant Client中。
git stash drop
的版本必须与您的Oracle客户端完全相同版本
Oracle安装程序12.1或更高版本未将Oracle.DataAccess.dll
添加到GAC。您必须手动添加它。