Window Service Cannot load Oracle.DataAccess.dll - asp.net

I have a Window service which uses "Oracle.DataAccess.dll" (file version 2.112.0) to connect to the Oracle DB. When I deployed this service on to the server, I get the following error "Could not load file/assembly Oracle.DataAccess version=2.112.00.. ".
I noticed on the server, that C:\Windows\Assembly shows Oracle.DataAccess with the version 2.111.00 but not 2.112. Is this causing the problem?
a. Can I make my Window service to use the 2.111 version?
b. Should I install latest version of Oracle client on the server to have the 2.112 version?
c. or What is the best solution for my problem?

The best solution is to install the same version of the Oracle.DataAccess.dll on the server that you have in your development environment. Even if there is another version of the dll in your GAC it won't work; you need to have the exact same version.
If for whatever reason you cannot install the 2.112.00 version on your server then you need to add the 2.111.00 version as a reference to your project and drop the 2.112.00 version.

Related

Cannot find compilation library location for package 'Microsoft.NETCore.App'

I've upgraded from .NET Core 2.0 to 2.1.1 (so many elements that gets highly confusing).
I built my project and now I'm getting this error:
Cannot find compilation library location for package 'Microsoft.NETCore.App'
I don't know what other information should I provide. Please guide me in providing more info on this issue.
It's such a frustrating experience. Upgrading backward compatible version in Semantic Versioning shouldn't break things. I wish they had versioned this release as .NET Core 3.0, so that we wouldn't upgrade. Any help?
Update: I created this issue on GitHub.
I did simple fix for this issue, I selected option to remove additional files at destination before publish and then it solved my issue.
Just set MvcRazorExcludeRefAssembliesFromPublish to false in your .csproj file and that should fix the issue.
You're missing the SDK. Download and install 2.1.301 (at the time of writing), and you'll be okay. FWIW, you're not forced to upgrade. If the packages upgraded automatically, you either set a wildcard on package version or you just did something like "Upgrade all" in the NuGet Package Manager GUI. If you're concerned about things upgrading without your permission, then use explicit version numbers and pick and choose each package to upgrade manually.
Clean your hosted folder and install fresh. Re-installing the SDK/runtimes did not fully correct the issue for me.
Resolved this error by:
Re/Install SDK on IIS Server (2.1.3xx)
Re/Install SDK on Dev Machine (2.1.3xx)
Re/Install Runtime on IIS Server (2.1.2)
Clean hosted folder on IIS Server (I had old cshtml/dlls)
Republish to clean folder
Also try with an empty new project (File -> New Project -> ASP.NET Core Web Site -> 2.1)

Cannot install Microsoft Web Farm Framework v2.2

Trying to install Microsoft Web Farm Framework v2.2 on a Windows 2008 server.
I've already downloaded and installed Web PI v3 after realising v4 is too new to be able to download the Web Farm Framework.
When I run the installer for the Web Farm Framework v2.2 I get the following error:
Web Deployment Tool is a pre-requisite for installing Web Farm Framework. Please install the Web Deployment tool.
The strange thing here is that Web Deploy is already installed (v3.0). So I then try and download v3.5 assuming there is a problem with the current version at v3.
However when I try to install this I get the following error:
Failed to instal Web Platform Installer. Lick OK to use the browser to download installer.
Can anyone help to get this working?
Not sure why it wants me to open another browser window since I just came from a browser to install the extension? So it seems I cannot install something because there is a dependency on something else, yet I can't install that dependency either.
Why is this so difficult and why hasn't Microsoft made this easier to install?
I got this working in the end. Basically you need to just install everything in sequence starting with the Web PI v3 then Web Deploy v2 followed by the Web Farm Framework. It seems there is a dependency on specific versions on each of the required tools. Not sure why it insists on opening a browser window again though.
I just encountered this issue and tried the registry modification which helped me out.
Try changing the registry setting install the module and change the registry back to the original value.
Open Regedit > HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
Edit "MajorVersion" and set the "HexaDecimal" value to 9
Install the WebFarm 2.2 module.
Change the "MajorVersion" back to "HexaDecimal" value of a
Hit F5 while in Regedit
Close Regedit

SOA suite installation error

I have installed Weblogic version 10.3.6.0 successfully on my windows system.
When trying to install SOA suite, it fails with the message
INST-07286: Specified Oracle Middleware home location does not have minimum version 10.3.5.0 of weblogic server. If the version is incorrect then configuring with the Weblogic server will fail.
Not sure why this error comes even though weblogic is installed. Please suggest what could be missing.
I have tried setting the Windows environment variable MW_HOME (and restarted the machine) but it does not help.
Weblogic server now comes with Jdeveloper in 11g, so there is no need to install weblogic again. I think using 10.X.X version is causing error, please also check with JDK version you are using. I know I am responding too late, but I think this will help if you still didn't resolve it.

Could not load assembly System.Data.SQLite.dll

I have a perfectly working windows forms C# .NET 4 application that uses a SQLite3 database file to store data and display forms.
When I deploy my app on any machine other then the dev machine, I get an exception thrown and it's message is "Could not load assembly System.Data.SQLite.dll or one of its dependencies. The specified module could not be found."
The System.Data.SQLite.dll reference in the project is set to Copy Local = True. Also, I tried manually loading the assembly with Assembly.LoadFile. The dll is placed in the output directory. I also tried setting the platform target to Any CPU as well as x86, no difference. All machines I am working with are 32-bit. What is the issue here? Why is my application trying to load the assembly and can't find it?
Thanks!
I had the same problem after publishing my program to a separate computer. Installing Microsoft Visual C++ 2010 Redistributable Package (x86) on the separate computer fixed the problem.
Note: the separate computer already had Microsoft Visual C++ 2010 Redistributable Package (x64) installed, the x86 version was needed.
'System.Data.SQLite.dll" requires "msvcr100.dll" which is one of it's Dependencies. This will be available only if you installed latest "Microsoft Visual C++ Redistributable" or any other product which internally provides this.
For example, VS2010 will install C++ Redistributable by default. Thats the reason your application doesnot works in some machine but works in others.
You could try pasting the "msvcr100.dll" in your application bin folder and distribute if you dont want to install VC++ 2010 Redist in all the PC's.
Some of the System.Data.Sqlite.dll modules depend on the "Microsoft Visual C++ 2012 Redistributable Package" .
You can find required dependencies on the official download page : http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
The answers already given didn't solve my problem. I tried to deploy to a VMware server. The solution that did help where given here: http://sqlite.1065341.n5.nabble.com/System-Data-SQLite-Deployment-Mystery-td71752.html Two methods are described there.
When i install this sqlite-netFx45-setup-bundle-x86-2012-1.0.88.0.exe, my app is able to find the right dll.
The second method is to add the dll to de app.exe.config in the debug or release dir. If you edit this file directly, there is a change VC will overwrite the file.
My main problem was that i installed the sqlite package manually. I didn't use NuGet, because i'm behind a proxy. If you do use Nuget, the information in the app.exe.config will be provided automatically.
Using NuGet behind a proxy is described here: NuGet Behind Proxy

HOWTO: Visual Studio 2010 MVC3 Project on Win7 x64 Using Oracle ODP.NET 11.2

I have a new development machine Windows 7 x64 and am writing an MVC3 application that targets an Oracle database. I have tried everything that I know of to get it running with no success.
Previously, I was developing on a Win7 x32 box and could debug fine locally, but was unable to deploy and run it on a Win2008 x64 Server despite having ODP.Net and 11g Client installed.
"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"
On my new x64 machine, I can build the project but when i try to run it in via the IDE I get:
"The provider is not compatible with the version of Oracle client"
I am at a complete loss.
Does anyone have a similar setup that could share detailed instructions of what to install where and how to to reference Oracle.DataAccess in such a way that I can debug in the IDE on my x64 box, and also deploy to x64 server?
It should not have to be this difficult.
I do have this running on Windows 7x64 with the Oracle 11g R2 client that comes with the ODAC installation here:
http://www.oracle.com/technetwork/topics/dotnet/index-085163.html
Make sure you have the x64 version installed locally, and you may have to do the uninstall-reboot-reinstall-reboot tango. I also had weird problems getting it to see TNSNAMES entries and had to go with EZCONNECT strings, but that's not your problem.
In fact, I've also gotten it working on x64 using the 32 bit EF beta and it works fine:
http://www.oracle.com/technetwork/topics/dotnet/downloads/oracleefbeta-302521.html
Although I don't think the EF implementatinon is 100% ready for prime time yet (we ended up using the DevArt driver instead because it had more reliable support for computed fields - we never did get Computed or Identity Timestamps working in ODP.NET EF Beta, although oddly Primary Key NUMBER fields populated by triggers did work.)
I didn't have to do anything special, and I didn't have to do anything special on the server side either (with both 10g and 11gR2).
So I finally figured it out. Here is what I did step-by-step:
On my Win7 x64 development machine I removed all Oracle products in an attempt to start from scratch (including manually deleting registry keys and files/folders)
I installed "Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64) " ON BOTH the dev machine and production IIS server
I selected the RUNTIME option for the installation
During my first attempt the installation complained of not enough room in the PATH
environment variable so I had to cancel the install, remove some path values (which a replaced after the install completed
I installed to C:\oracle was my base path and client_x64 was my HOME so it installed to C:\oracle\product\11.2.0\client_x64
I then installed "64-bit ODAC 11.2 Release 3 (11.2.0.2.1) for Windows x64" on BOTH the dev and production mahcines.
install.bat odp.net4 c:\oracle\odac11.2.x64 odac112x64
The above statement creates a new home named odac112x64
At this point I built a simple console app using the following setup
Added reference to Oracle.DataAccess.dll located in C:\oracle\odac11.2.x64\odp.net\bin\4
Set CopyLocal = FALSE for the Oracle.DataAccess reference
Set the application to build for "ANY PROCESSOR"
The app connected to my oracle database and returned records on both machines
I then created a sample MVC website project with the same connection code as the console app.
When I ran it locally in the IDE it threw an error:
"Could not load file or assembly 'Oracle.DataAccess,
Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'
or one of its dependencies. The system cannot find the file specified."
I believe this is because the IDE is 32bit and could not load a 64bit Oracle.DataAccess
I published that exact code to the production server and it ran successfully
At this point my only problem is getting it to run locally for development purposes
I installed "ODAC 11.2 Release 3 (11.2.0.2.1) with Xcopy Deployment" which is the x32 version of ODP.NET
install.bat odp.net4 c:\oracle\odac11.2.x32 odac112x32
When I re-ran the MVC website project locally it worked as expected!
UPDATED FOLLOW-UP INFORMATION #1:
After getting this to work I attempted to apply the same steps to another server and it failed. The problem was that "Allow 32-bit Applications" was set to TRUE in the application pool. DISABLING 32-bit apps (only allowing 64bit) resolved the problem on the new machine.
UPDATED FOLLOW-UP INFORMATION #2:
The ODAC installation on the new machine failed to place the installation and bin directory in the environment path (I hate Oracle). Once that was added, all was running as desired.
I have not worked with ODP.NET for quite some time, so I am running from memory of issues I had when I last used it.
The ODP.NET bits have to be installed on the server (or at least deployed, although I am not sure how that is accomplished off hand). The actual client in ODP.NET is the same Java libraries used for Oracle access. If installed, then you have some type of configuration error or permissions issue with using the underlying Java libraries.
I am not sure what the IDE message is about, however.

Resources