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

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

发布时间:2020-12-12 12:42:45 所属栏目:百科 来源:网络整理
导读:我的开发机器是Vista x64. 我正在使用WCF Web服务来构建与oracle 10g数据库连接的Web服务. 开发开始时,我无法使用VS2008的内置WCF测试工具[WCFTestClient],当你在32位Oracle.DataAccess.dll上按F5 [Go]时启动,因为我在Oracle对象上获得了System.BadImageForm
我的开发机器是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位应用程序.

(编辑:李大同)

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

    推荐文章
      热点阅读