.NET 64 bit client doesnt work

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
maxima120
Posts: 11
Joined: Tue 15 Mar 2016 14:19

.NET 64 bit client doesnt work

Post by maxima120 » Thu 09 Jun 2016 15:21

I have Devart installed on a dev machine. I created a .NET application which is x64 in Visual Studio 2015.

While I run it on the dev machine it works fine. Now I tried to deploy it on a server for tests and it asked me for license.

So I went to VS Tools -> Oracle -> License Information.

There was bunch of reds.. So I clicked Fix few times, and as result I got half reds with:

Could not load file or assembly 'xxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. This assembly was compiled for a different processor.

I tried to ignore this and ran it on the server and got

Exception: System.IO.FileLoadException: Could not load file or assembly 'Devart.Data.Oracle.Entity, Version=8.5.535.6, Culture=neutral, PublicKeyToken=xxx' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

I did the similar on another application which builds as Any CPU and everything was fine..

I looked at your website and it says - Devart Oracle is compatible with x64 clients..

I need this as x64 could you please help?

maxima120
Posts: 11
Joined: Tue 15 Mar 2016 14:19

Re: .NET 64 bit client doesnt work

Post by maxima120 » Fri 10 Jun 2016 10:50

I logged the fusion process and got this:

The operation failed.
Bind result: hr = 0x80131040. No description available.

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable C:\PSM\Monitor\PackageStatusMonitorConsoleHost.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: DisplayName = Devart.Data.Oracle.Entity, Version=8.5.535.6, Culture=neutral, PublicKeyToken=09af7300eec23701
(Fully-specified)
LOG: Appbase = file:///C:/PSM/Monitor/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = PackageStatusMonitorConsoleHost.exe
Calling assembly : EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\PSM\Monitor\PackageStatusMonitorConsoleHost.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Devart.Data.Oracle.Entity, Version=8.5.535.6, Culture=neutral, PublicKeyToken=09af7300eec23701
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/PSM/Monitor/Devart.Data.Oracle.Entity.DLL.
LOG: Assembly download was successful. Attempting setup of file: C:\PSM\Monitor\Devart.Data.Oracle.Entity.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: Devart.Data.Oracle.Entity, Version=8.5.535.0, Culture=neutral, PublicKeyToken=09af7300eec23701
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: The assembly reference did not match the assembly definition found.
ERR: Run-from-source setup phase failed with hr = 0x80131040.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.


The licenses.licx has this:
Devart.Data.Oracle.OracleConnection, Devart.Data.Oracle, Version=8.5.535.0, Culture=neutral, PublicKeyToken=09af7300eec23701

And the references in VS are 8.5.535.0 and the actuall dlls on the server in the app folder is 8.5.535.0

Where is the 8.5.535.6 coming from?

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: .NET 64 bit client doesnt work

Post by Shalex » Fri 10 Jun 2016 16:40

maxima120 wrote:I created a .NET application which is x64 in Visual Studio 2015.
Could not load file or assembly 'xxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. This assembly was compiled for a different processor.
The reason of the error is that your Visual Studio process is x86 (32 bit), but the Platform target property of your project is set to x64 (64 bit). As a workaround, you can assign Platform target to x86 (or AnyCPU), fix up the license resource, and then set Platform target back to x64.
maxima120 wrote:System.IO.FileLoadException: Could not load file or assembly 'Devart.Data.Oracle.Entity, Version=8.5.535.6, [...]
1. Please specify the Entity Framework version used in your project.
2. Check the *.config file of your application if there are any 8.5.535.6 entries.

Be aware that the Entity Framework assembly name changes are implemented in dotConnect for Oracle starting from v9.0: viewtopic.php?f=1&t=33571 > the Entity Framework Assembly Name Change section.

maxima120
Posts: 11
Joined: Tue 15 Mar 2016 14:19

Re: .NET 64 bit client doesnt work

Post by maxima120 » Tue 21 Jun 2016 19:27

I fixed it by finding dll .6 version in GAC of my local machine and copying it into bin folder on the server deployment.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: .NET 64 bit client doesnt work

Post by Shalex » Wed 22 Jun 2016 06:34

Thank you for letting us know.

Post Reply