After spending several days reading threads here and troubleshooting numerous messages regarding ODP.Net errors between my development machine and production, I want to run my take aways by the experts here to make sure a) I am correct in my assumptions, and b) there isn't a better way of solving this in the future.
My basic take away is that I should always start by looking in the GAC of my ultimate destination server to identify the version of the Oracle.DataAccessClient.dll. Then I should make sure that the version of the DLL I add as a reference in VS matches what is on the final destination machine. I'm not totally sure why I need to match what is in the GAC since I'm copying the dll to the bin directory anyway, but that's not really my question.
So what happens when your development, staging/testing and production environments don't have exactly the save version of the DLL? Based on some threads Deploying and Configuring ODP, it seems like I might be able to just copy the instant client files directly into my applications bin directory and not worry about what is already on any of the machines. Is that correct?
Any other thoughts or suggestions? Thank you.