I have an ASP.NET Web Forms app that I am building and running against .NET 4.0 on a Win7 local machine. (All is OK on local box.) My app is running EF4.1 against an Oracle DB, so I am using the Oracle EF data provider, which is still in Beta.
Right now, I can successfully deploy the app to my Win2008 Server target machine using Web Deploy from my local VS2010, but when I run the app on the target, I get the classic Unable to find the requested .Net Framework Data Provider
error.
Here's my (unsuccessful) setup, as of now:
32-bit applications are enabled in the app pool (.NET 4.0) on the Win2008 Server target.
Copy Local is set to true for the
Oracle.DataAccess
DLL in my local VS2010 solution.Both of the Platform and Platform target settings are set to Any CPU in my local Build Configuration. (I have tried different settings here without success.)
The Win2008 Server target does not have an
Oracle.DataAccess
DLL in the GAC. (I thought that setting Copy Local on the Oracle DLL would mean that I didn't need the GAC.)
EDIT: I have tried to GAC the Oracle.DataAccess
DLL, but I get the same error that is discussed here. (I still have to investigate this.) Also, there is already another Oracle client on my target box, and installing the Oracle client that comes with the Oracle EF data provider seems to interfere with it. This cannot be allowed to happen.
Question 1: What combination of build configuration settings (on the local box) and IIS settings (on the target) do I need to select in order to be able to run my app on the 2008 Server?
Question 2: How can I get this to work without installing another Oracle client on my target server?
Thanks again for the help.
Update: All is working. See my answer below for a link to the full solution, as well as links to helpful information.