.net – 部署使用Oracle.DataAccess的Web服务器会导致各种程序集错误

.net – 部署使用Oracle.DataAccess的Web服务器会导致各种程序集错误,第1张

概述我的开发机器是Vista x64. 我正在使用WCF Web服务来构建与oracle 10g数据库连接的Web服务. 开发开始时,我无法使用VS2008的内置WCF测试工具[WCFTestClient],当你在32位Oracle.DataAccess.dll上按F5 [Go]时启动,因为我在Oracle对象上获得了System.BadImageFormatException.所以在我的开发环境中, 我的开发机器是Vista x64.

我正在使用WCF Web服务来构建与oracle 10g数据库连接的Web服务.

开发开始时,我无法使用VS2008的内置WCF测试工具[WCFTestClIEnt],当你在32位Oracle.DataAccess.dll上按F5 [Go]时启动,因为我在Oracle对象上获得了System.BadImageFormatException.所以在我的开发环境中,我为我引用的程序集切换到ODP.NET 64位版本,这非常有用.

我可以部署到我的本地IIS [7],但前提是我使用32位Oracle.DataAccess.dll.

我正在尝试部署到安装了.NET 3.5 sp1的Win2003 [IIS 6],并安装了Oracle 10g数据库.此服务器上的其他Web应用程序成功使用oracle连接.

如果我从web.config文件中删除对Oracle.DataAccess的所有引用,并确保我的bin /文件夹中没有Oracle.DataAccess.dll,我可以打开默认服务元数据页面[s],但是调用该服务通过SOAP客户端导致错误:

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

但是,如果我在我的bin /文件夹中放入Oracle.DataAccess.dll的副本,我会得到:

“无法加载文件或程序集’Oracle.DataAccess’或其依赖项之一.找到的程序集的清单定义与程序集引用不匹配.(HRESulT的异常:0x80131040)”

尝试在Web浏览器中加载.svc页面时.

如果我向web.config添加程序集引用,我收到配置错误:“无法加载文件或程序集xxx”

我想我正在寻求帮助理解程序集缓存,以及有ODP.net经验的人可以帮助我在这个危险的区域中导航并成功部署此服务.

解决方法 最近我遇到了类似的问题,发现System.BadImageFormatException是由指定Any / x64目标平台的项目引用32位版本的Oracle.DataAccess引起的.将项目设置为目标x86和配置I​​IS 7以启用32位应用程序(右键单击应用程序池 – >高级设置…设置“启用32位应用程序”设置为true)一切似乎都在工作预期.此外,here是一篇文章的链接,解释了如何在不同的工作进程上运行32位和64位版本,以及另一个 here解释如何使用IIS 6在64位上运行32位应用程序. 总结

以上是内存溢出为你收集整理的.net – 部署使用Oracle.DataAccess的Web服务器会导致各种程序集错误全部内容,希望文章能够帮你解决.net – 部署使用Oracle.DataAccess的Web服务器会导致各种程序集错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1158435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存