0

使用:
- windows 应用程序 - Visual Studio - 2008
- 后端 -oracle 11G
- Web 服务 - Visual Studio - 2010
- IIS(应用程序池 >> 高级设置 >> 启用 32 位应用程序)

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

无法加载文件或程序集 'Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。

帮我解决问题

4

2 回答 2

1

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

另外,请参阅上一个问题: 定位程序集的清单定义与程序集引用不匹配

于 2013-09-28T07:34:39.280 回答
1

检查以下内容,

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

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

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

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

  5. GAC如果有任何其他 Oracle DataAccess dll,请检查并删除。

于 2013-09-28T08:20:50.667 回答