【问题标题】:'Oracle.DataAccess, Version=2.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies'Oracle.DataAccess, Version=2.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' 或其依赖项之一
【发布时间】:2019-01-24 18:18:41
【问题描述】:

我有一个在 Visual Studio 2012 中构建的 Web 项目。它使用 Oracle.DataAccess.dll 现在我在我的解决方案中看到的是 4.121 版本。但是在项目正在寻找 2.122 版本时收到此错误。 提前感谢您的帮助

下面是堆栈跟踪

=== 预绑定状态信息 === LOG: DisplayName = Oracle.DataAccess, Version=2.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342(完全指定)日志:Appbase = file:///C:/TFS/IVAS/CPTSBaselineCode/FrontEndApplications/CampaignPerformanceTracking/CampaignPerformanceTracking/ 日志:初始 PrivatePath = C:\TFS\IVAS\CPTSBaselineCode\FrontEndApplications\CampaignPerformanceTracking\CampaignPerformanceTracking\bin 调用程序集:Aarp.Cpts.DataObjects,版本=1.0.0.0, 文化=中性,PublicKeyToken=null。 === LOG:此绑定在默认加载上下文中开始。 LOG:使用应用程序配置文件: C:\TFS\IVAS\CPTSBaselineCode\FrontEndApplications\CampaignPerformanceTracking\CampaignPerformanceTracking\web.config LOG:使用主机配置文件: LOG:使用机器配置 文件来自 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config。 LOG:后策略参考:Oracle.DataAccess,Version=2.122.1.0, 文化=中性,PublicKeyToken=89b483f429c47342 日志:正在尝试 下载新网址 file:///C:/Users/XXX/AppData/Local/Temp/1/Temporary ASP.NET 文件/vs/ecf130a4/7d736bb0/Oracle.DataAccess.DLL。日志:尝试 下载新网址 file:///C:/Users/XXX/AppData/Local/Temp/1/Temporary ASP.NET 文件/vs/ecf130a4/7d736bb0/Oracle.DataAccess/Oracle.DataAccess.DLL。 日志:尝试下载新 URL file:///C:/TFS/IVAS/CPTSBaselineCode/FrontEndApplications/CampaignPerformanceTracking/CampaignPerformanceTracking/bin/Oracle.DataAccess.DLL。 警告:比较程序集名称导致不匹配:主要 版本 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, Type requiredBaseType, HttpContext context, Boolean 允许跨应用程序)+100
System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext 上下文, String requestType, VirtualPath virtualPath, String physicalPath) +31 System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext 上下文,字符串 requestType,VirtualPath virtualPath,字符串 物理路径)+64
System.Web.HttpApplication.MapHttpHandler(HttpContext 上下文,字符串 requestType、VirtualPath 路径、String pathTranslated、Boolean 使用AppConfig)+191
System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +156 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep 步骤) +48 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean & completedSynchronously) +159

【问题讨论】:

    标签: oracle visual-studio-2012 x86 64-bit processor


    【解决方案1】:

    如果我们只看到错误消息而看不到其他信息,这有点难以为您提供帮助。几点:

    • 您在编译选项中设置了哪个版本的 .NET 框架?如果您设置为 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 中。

    • Oracle.DataAccess.dll 的版本必须完全相同与您的 Oracle 客户端版本相同

    • Oracle 安装程序 12.1 或更高版本不会将 Oracle.DataAccess.dll 添加到 GAC。您必须手动添加。

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 2017-02-14
      • 2019-03-18
      • 2017-11-08
      • 2018-03-21
      • 2017-07-02
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多