【问题标题】:Could not load file or assembly using WCF service无法使用 WCF 服务加载文件或程序集
【发布时间】:2023-03-25 03:25:02
【问题描述】:

使用:
- Windows 应用程序 - Visual Studio - 2008
- 后端 -oracle 11G
- 网络服务 - 视觉工作室 - 2010
- IIS(应用程序池>>高级设置>>启用32位应用程序已启用)

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

无法加载文件或程序集“Oracle.DataAccess,版本=10.2.0.100,文化=中性,PublicKeyToken=89b483f429c47342” 或其依赖项之一。定位程序集的清单定义 与程序集引用不匹配。

帮我解决问题

【问题讨论】:

  • 您能重新格式化您的问题吗?

标签: c# .net wcf plsqldeveloper


【解决方案1】:

检查以下内容,

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

  2. 首先检查你是否在网络服务器中安装了Oracle client(ODAC)。如果没有 oracle 客户端,您的应用程序将无法加载程序集。

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

  4. 此外,IIS 32bit Enabled 属性应与您的应用程序引用的 Oracle DataAccess dll 匹配。 (服务器中安装 Oracle Client 的处理器架构,Oracle.DataAccess dll 和启用 IIS 的位版本应该相同。32 或 64

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

【讨论】:

  • 试图从 GAC 中删除 Oracle.DataAccess 时显示拒绝访问。
  • @Gandarez 你是如何试图从 GAC 中删除 dll 的?您需要管理员权限才能从 GAC 安装/删除。
【解决方案2】:

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

另外,请参阅上一个问题: The located assembly's manifest definition does not match the assembly reference

【讨论】:

  • 更改 Oracle 数据访问版本它工作正常...谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多