victoryismine06 wrote:No idea why, but apparently there was something causing the "DevartEntityDeploy" Build Action to not include the models as resources. I changed it to "EntityDeploy" then back and it started working.
To make the "DevartEntityDeploy" Build Action to work, make sure that:
1. The Copy To Output Directory property of your model is set to "Do not copy".
2. Devart.Data.Entity.Build.Tasks.dll and Devart.Data.Entity.targets are available in the %ProgramFiles%\MSBuild\Devart\v3.5\ folder
3. The %ProgramFiles%\MSBuild\v3.5\Custom.After.Microsoft.Common.targets and %ProgramFiles%\MSBuild\v4.0\Custom.After.Microsoft.Common.targets files have the following entry:
4. Devart.Data.Entity.Build.Tasks.dll is loaded to the process when you are getting the problem with "DevartEntityDeploy". You can use, for example, FileMon or Process Monitor for this.
victoryismine06 wrote:I get the same Exception Message: "System.Data.ProviderIncompatibleException: A null was returned after calling the 'GetService' method on a store provider instance of type > 'Devart.Data.Oracle.OracleProviderFactory'. The store provider might not be functioning correctly,"
We are aware of one situation when this error occurs if you are using June 2011 CTP:
* EF 4.0 uses System.Data.Entity.dll (v4.0),
* EF 4.1 - System.Data.Entity.dll (v4.0) + EntityFramework.dll,
* June 2011 CTP is a new version of the System.Data.Entity.dll assembly (v4.2), which includes all types, which are defined in two mentioned assemblies, and the new types.
Our EF-provider is compiled with EF 4.0 (System.Data.Entity.dll v 4.0). The June 2011 CTP installer places System.Data.Entity.dll (v4.2)
\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Data.Entity\v4.0_4.2.0.0__b77a5c561934e089\to GAC with its policy file
\Windows\Microsoft.NET\assembly\GAC_MSIL\policy.4.0.system.data.entity\which makes binding redirect (4.0 -> 4.2).
As a result, only System.Data.Entity.dll v4.2 is loaded to the process of application when there is the policy file (by default), and all is fine: and EF run-time and our provider use the same types.
Here is a description of the situation when a NULL can be returned after calling the 'GetService' method.
If there is no mentioned policy file in GAC, both versions (4.0 and 4.2) of System.Data.Entity.dll are loaded to the process. Thus, our provider uses types from System.Data.Entity.dll v4.0, but EF run-time - from the 4.2 version of this assembly. GetService() from our assembly returns instance of the DbProviderServices class from v4.0 successfully, but EF 4.2 receives NULL when tries to cast this type to the DbProviderServices class that is defined in v4.2.
Alternative solutions for this case:
1. Set binding redirect for System.Data.Entity.dll (4.0 -> 4.2) in the *.config file of your application:
http://msdn.microsoft.com/en-us/library ... 00%29.aspx .
2. Place the missing policy file (we can sent it to you) in GAC v4.0 (%Windows%\Microsoft.NET\assembly\GAC_MSIL) of your workstation.
victoryismine06 wrote:"License not valid due to the problems with dotConnect for Oracle installation".
Our license resource is version and edition dependent. If you build your application with dotConnect for Oracle v 6.30.202 Professional Trial:
- the licenses.licx file has to contain the 6.30.202 version
- you have to deploy your application with the assemblies (Devart.Data.dll, Devart.Data.Oracle.dll, Devart.Data.Oracle.Entity.dll) from dotConnect for Oracle v 6.30.202 Professional Trial.
victoryismine06 wrote:I see a few policy keys however, not sure if I need to delete those.
Remove all policy.*.Devart.* files from GAC after uninstalling the previous version of dotConnect for Oracle (before installing the new one).