C# 安装Oracle 11和12时,无法加载文件或程序集“Oracle.DataAccess,版本=4.121.2.0”

C# 安装Oracle 11和12时,无法加载文件或程序集“Oracle.DataAccess,版本=4.121.2.0”,c#,asp.net,oracle,odp.net,C#,Asp.net,Oracle,Odp.net,在用于ASP.NET Web开发的本地计算机上,我有几个Oracle 11客户端11.2.0.1、11.2.0.2、11.2.0.3。我的网站使用Oracle.DataAccess.Dll ODP.NET所有32位 我刚刚安装了Oracle 12c ODPwithODAC包32位 现在是使用Oracle.DataAccess.dll 11.2的网站。不再有用了。我有一个错误: 无法加载文件或程序集“Oracle.DataAccess,Version=4.121.2.0,Culture=neutr

在用于ASP.NET Web开发的本地计算机上,我有几个Oracle 11客户端11.2.0.1、11.2.0.2、11.2.0.3。我的网站使用Oracle.DataAccess.Dll ODP.NET所有32位

我刚刚安装了Oracle 12c ODPwithODAC包32位

现在是使用Oracle.DataAccess.dll 11.2的网站。不再有用了。我有一个错误:

无法加载文件或程序集“Oracle.DataAccess,Version=4.121.2.0,Culture=neutral,PublicKeyToken=89b483f429c47342”或其依赖项之一。系统找不到指定的文件

描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.IO.FileNotFoundException:无法加载文件或程序集“Oracle.DataAccess,版本=4.121.2.0,区域性=中性,PublicKeyToken=89b483f429c47342”或其依赖项之一。系统找不到指定的文件

源错误:

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:

[FileNotFoundException:无法加载文件或程序集“Oracle.DataAccess,版本=4.121.2.0,区域性=中性,PublicKeyToken=89b483f429c47342”或其依赖项之一。系统找不到指定的文件。] Oracle.Web.Security.OracleMembershipProvider.CheckPasswordString用户名、字符串密码、Boolean updateLastLoginActivityDate、Boolean failIfNotApproved、String&salt、Int32&passwordFormat+0 Oracle.Web.Security.OracleMembershipProvider.ValidateUserString用户名、字符串密码+105 System.Web.UI.WebControl.Login.AuthenticateSingMembershipProviderAuthenticateEventArgs e+59 System.Web.UI.WebControl.Login.OnAuthenticateAuthenticateEventArgs e+113 System.Web.UI.WebControls.Login.AttemptLogin+119 System.Web.UI.WebControls.Login.OnBubbleEventObject源,事件参数e+75 System.Web.UI.Control.RaiseBubbleEventObject源,EventArgs args+37 System.Web.UI.WebControl.Button.OnCommand和CommandCommandEventArgs e+114 System.Web.UI.WebControl.Button.RaisePostBackEventString事件参数+164

首先,我选择了我想要的甲骨文主页

在Visual Studio中,我在Oracle.DatabaseAccess引用中将属性特定的版本设置为false


我有这个问题。我使用的是Oracle 12c,我必须将“平台目标”更改为x64。因此,请检查系统的版本,并将其更改为x86或x64。

我以前也遇到过同样的问题。我已将我的案例控制台应用程序中的启动项目设置为“首选32位”复选框,并在“生成”选项卡中选中。您可以通过右键单击项目并选择“属性”找到此选项卡。

从项目中删除Oracle.DatabaseAccess引用,然后从manage nuget软件包中再次安装它。

看起来程序集的版本已更改已更改,因此您需要在config@dansasu11问题是,我希望我的Web应用程序在我的11.2 Oracle客户端下运行,即使我同时安装了12.1版本。您是否尝试将11.2的Oracle.DataAccess.dll的确切版本复制到您的bin目录中?@CodeZombie是的,我的所有引用都设置为本地副本,因此当我构建我的解决方案,所有dll都复制到my bin Folder即使您更改了平台,请确保在项目属性中的“构建选项”选项卡中,首选32位选项不是“检查是否要使用x64”。为什么会有人被迫将项目平台转换为32位?Oracle没有用于NET x64应用程序的数据访问组件吗?