Domanda

using:
- windows app - visual studio - 2008
- back end -oracle 11G
- web service - visual studio - 2010
- IIS(Application pools >> Advanced Settings >> Enable 32bit Applications is enabled)

I created a windows application using WCF service. When I host the service in my local machine(Using IIS) it works fine. When hosted on server, it shows an error:

Could not load file or assembly 'Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.

Help me to solve the problem

È stato utile?

Soluzione

Check the following,

  1. Check the version of the dll you have placed and the version you application has reference to.

  2. First check if you have installed Oracle client(ODAC) in the web server. Without oracle client your application will not load the assembly.

  3. If it has Oracle client installed then check whether its 32 or 64 bit and your application should have reference to same bit version of the assembly.

  4. Also IIS 32bit Enabled property should match the Oracle DataAccess dll your application referencing. (Basically processor architecture of Oracle Client installation in the server, Oracle.DataAccess dll and IIS enabled bit version should be same. either 32 or 64)

  5. Check the GAC and remove if there is any other Oracle DataAccess dlls.

Altri suggerimenti

I would guess that your server has a different version of the Oracle.DataAccess assembly installed in the GAC. Are you able to confirm what version is installed on the server?

Also, see this previous question: The located assembly's manifest definition does not match the assembly reference

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top