无法使用 WCF 服务加载文件或程序集

本文关键字:加载 文件 程序集 服务 WCF | 更新日期: 2023-09-27 18:33:11

using:
- 视窗应用 - 视觉工作室 - 2008
- 后端 - 甲骨文 11G
- 网络服务 - 视觉工作室 - 2010
- IIS(启用 32 位应用程序>>高级设置>>的应用程序池)

我使用 WCF 服务创建了一个 Windows 应用程序。当我在本地机器(使用 IIS)中托管服务时,它工作正常。托管在服务器上时,它会显示一个错误:

无法加载文件或程序集"Oracle.DataAccess,版本=10.2.0.100,区域性=中性,公钥令牌=89b483f429c47342" 或其依赖项之一。找到的程序集的清单定义 与程序集引用不匹配。

帮我解决问题

无法使用 WCF 服务加载文件或程序集

检查以下内容,

  1. 检查已放置的 dll 的version以及应用程序引用的版本。

  2. 首先检查是否已在 Web 服务器中安装了Oracle client(ODAC)。如果没有 oracle 客户端,应用程序将不会加载程序集。

  3. 如果安装了 Oracle 客户端,请检查其32 or 64 bit和应用程序是否应引用程序集的相同位版本。

  4. 此外,IIS 32bit Enabled属性应与应用程序引用的 Oracle DataAccess dll 匹配。(基本上Oracle客户端在服务器中安装的处理器体系结构,Oracle.DataAccess dll和IIS启用的位版本应该是相同的,要么是32,要么是64

  5. 检查GAC并删除是否有任何其他 Oracle DataAccess dll。

我猜你的服务器在GAC中安装了不同版本的Oracle.DataAccess程序集。 您是否能够确认服务器上安装了哪个版本?

另外,请参阅前面的问题:找到的程序集的清单定义与程序集引用不匹配