加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP程序 Asp.net 使用Oracle.DataAcces

发布时间:2022-10-26 15:01:10 所属栏目:Asp教程 来源:互联网
导读: Asp.net 使用Oracle.DataAcces.dll将Visual Studio web应用程序部署到IIS
asp.netoracle
Asp.net 使用Oracle.DataAcces.dll将Visual Studio web应用程序部署到IIS,asp.net,oracle,Asp.net,

Asp.net 使用Oracle.DataAcces.dll将Visual Studio web应用程序部署到IIS

asp.netoracle

Asp.net 使用Oracle.DataAcces.dll将Visual Studio web应用程序部署到IIS,asp.net,oracle,Asp.net,Oracle,我一直在尝试使用Oracle.DataAcces.dll部署web应用程序。web服务器安装了64位Oracle客户端,我使用32位,因为Visual Studio需要它。当应用程序部署到服务器时ASP程序,我得到以下错误。异常详细信息:System.BadImageFormatException:无法加载文件或程序集“Oracle.DataAccess”或其依赖项之一。试图加载格式不正确的程序经过研究,我决定在Visual Studio中将Oracle.DataAcces.dll引用设置为Cop

我一直在尝试使用Oracle.DataAcces.dll部署web应用程序。web服务器安装了64位Oracle客户端,我使用32位,因为Visual Studio需要它。当应用程序部署到服务器时,我得到以下错误。异常详细信息:System.BadImageFormatException:无法加载文件或程序集“Oracle.DataAccess”或其依赖项之一。试图加载格式不正确的程序

经过研究,我决定在Visual Studio中将Oracle.DataAcces.dll引用设置为Copy Local=false。这样,32位的Oracle.DataAcces.dll就不会出现在web应用程序的bin文件夹中,web应用程序将在服务器上使用64位版本。我的平台目标设置为任何CPU

然而,这导致了同样的错误。所以如果有人知道答案,请帮助。。。我不明白发生了什么。

我将Oracle.DataAcces.dll引用设置为Copy Local=false并将*.csproj文件引用从




问题已解决。

假设您使用的是64位Windows“AnyCPU”,则意味着您的应用程序将以64位模式运行-即使是为了调试,无论您的Visual Studio是否为32位应用程序

这还需要64位版本的Oracle客户端和ODP.NET提供程序

这就是为什么引用

不起作用的原因,它强制加载32位ODP.NET

您可以将引用编写为


   False
   False


错误的

错误的

False

映射到Visual Studio GUI中的

Copy Local=False

有了此引用,无论您是编译到“x86”、“x64”还是“AnyCPU”,它都应该在您的本地计算机和目标服务器上的每种情况下都能工作。您甚至可以将.NET Framework更改为其他版本,例如,

.NET Framework 2.0

,而无需对代码进行任何更改。所有这些工作都需要正确安装相应的Oracle客户端和ODP.NET,即架构(32位对64位)必须匹配,ODP.NET的主要版本(1.x或2.0或4.0)必须匹配.NET Framework的主要版本。

谢谢Wernfried。。。我试试你的建议。


   False
   False

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!