Page 1 of 1

dotConnect for Oracle and EF6 not working on client pc

Posted: Wed 06 Jan 2016 12:57
by yammi900
Hi all,

I'm using Devart.Data.Oracle, Version=8.4.293.0 together with EF6.1.1 in a winforms application and added the recommended sections

Code: Select all

    <providers>
      <!--provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /-->
      <provider invariantName="Devart.Data.Oracle" type="Devart.Data.Oracle.Entity.OracleEntityProviderServices, Devart.Data.Oracle.Entity, Version=8.4.293.6, Culture=neutral, PublicKeyToken=09af7300eec23701" />
    </providers>
and

Code: Select all

  <system.data>
    <DbProviderFactories>
      <remove invariant="Devart.Data.Oracle" />
      <add name="dotConnect for Oracle" invariant="Devart.Data.Oracle" description="Devart dotConnect for Oracle"
       type="Devart.Data.Oracle.OracleProviderFactory, Devart.Data.Oracle, Version=8.4.293.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />
    </DbProviderFactories>
  </system.data>
This works fine on my development machine. However, if I deploy the solution using ClickOnce I get a runtime error the moment I touch the provider for the first time.

Code: Select all

	Shared Sub Main()
		Try
			Dim config As OracleEntityProviderConfig = Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig.Instance
			config.DmlOptions.InsertNullBehaviour = InsertNullBehaviour.InsertDefaultOrNull

			Application.Run(New frmMain)
		Catch ex As Exception
			ExtendedExceptionDialog.DisplayException(ex)
		End Try
	End Sub
The exception is:

The file or assembly "Devart.Data.Oracle, Version=8.4.293.0 ..." or a reference could not be found. The located assembly’s manifest definition does not match the assembly reference .


All references are copied locally and specific version is set to false.

Any ideas how to resolve this problem?

Regards,

Chris

Re: dotConnect for Oracle and EF6 not working on client pc

Posted: Wed 06 Jan 2016 14:27
by Shalex
Please make sure that you copy the following Devart.* assemblies
Devart.Data.dll
Devart.Data.Oracle.dll
Devart.Data.Oracle.Entity.dll
in the folder with your application (or in GAC) in your deployment environment.

If this doesn't help, upload a small test application to some file exchange server (and send us a download link) so that we can reproduce the issue in our environment.

Re: dotConnect for Oracle and EF6 not working on client pc

Posted: Thu 07 Jan 2016 10:47
by yammi900
I found the issue! I'm the one to blame.

Instead of
C:\Program Files (x86)\Devart\dotConnect\Oracle\Entity\EF6\Devart.Data.Oracle.Entity.dll
I included a reference to ..\EF5\Devart.Data.Oracle.Entity.dll. Now everything is working fine and the .dll has the correct version number.

However, I wonder how the programm could run on my development machine. The assembly mentioned above was neither in the GAC nor in the path. How was it found?


Regards,

Chris

Re: dotConnect for Oracle and EF6 not working on client pc

Posted: Fri 08 Jan 2016 12:18
by Shalex
Please check GACv4.0:

Code: Select all

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Devart.Data.Oracle.Entity\v4.0_8.4.293.6__09af7300eec23701\Devart.Data.Oracle.Entity.dll