I have a WCF service written and working on my development machine. It's a simple service that takes it's parameters and puts them into an Oracle Database. All aspects have been tested and working fine on my 32 bit development machine. When I compile and place the service in our 64 bit development server (running IIS 6) for proper testing, the test client gets this error:
Could not load file or assembly 'Oracle.DataAccess, Version=2.111.7.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies.
The client does not use Oracle.DataAccess.dll at all, it's an error returned by the service. In VS2010, I've set that the reference does not require a Specific Version. However, even with that set, it tells me exactly what version it can't find. I've tried adding the 32 bit and 64 bit version of the DLL into the bin directory of the service one at a time, but neither fixes the issue.
If I understand right, it should work without either of those DLLs in the bin folder because the GAC already has the proper DLL in it from other projects on the server. What can I do to fix this?
More Details: If I include the 32 bit DLL in the bin folder I get this error:
Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.
If I include the 64 bit DLL in the bin folder I get this error:
Could not load file or assembly 'Oracle.DataAccess, Version=2.111.7.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)