Hello Support,
we get error after deploying MVC application with the last version of dotConnect. We did not have this problem with Version 7.1.58.0.
Error message:
Schema specified is not valid. Errors:
Models.DevArtDbContextDM.ssdl(2,84) : error 0004: Could not load file or assembly 'Devart.Data.Oracle.Entity, Version=7.8.301.0, Culture=neutral, PublicKeyToken=09af7300eec23701' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.MetadataException: Schema specified is not valid. Errors:
Models.DevArtDbContextDM.ssdl(2,84) : error 0004: Could not load file or assembly 'Devart.Data.Oracle.Entity, Version=7.8.301.0, Culture=neutral, PublicKeyToken=09af7300eec23701' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[MetadataException: Schema specified is not valid. Errors:
Models.DevArtDbContextDM.ssdl(2,84) : error 0004: Could not load file or assembly 'Devart.Data.Oracle.Entity, Version=7.8.301.0, Culture=neutral, PublicKeyToken=09af7300eec23701' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
System.Data.Metadata.Edm.Loader.ThrowOnNonWarningErrors() +8565437
System.Data.Metadata.Edm.Loader.LoadItems(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths) +181
System.Data.Metadata.Edm.StoreItemCollection.Init(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean throwOnError, DbProviderManifest& providerManifest, DbProviderFactory& providerFactory, String& providerManifestToken, Memoizer`2& cachedCTypeFunction) +211
System.Data.Metadata.Edm.StoreItemCollection..ctor(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths) +262
System.Data.Metadata.Edm.StoreMetadataEntry.LoadStoreCollection(EdmItemCollection edmItemCollection, MetadataArtifactLoader loader) +96
Our comment:
I am confused because actually there is no Devart.Data.Oracle.Entity.dll with Version 7.8.301.0 in this deploy. The version for Devart.Data.Oracle.Entity is 7.8.301.6 and the version for Devart.Data.Oracle is 7.8.301.0. The Version 7.8.301.0 was set in the web.config file and in the licenses.licx file by dotConnect tools. Why it is looking for Devart.Data.Oracle.Entity.dll Version 7.8.301.0?
The previous version of deploy had same Versions for both Devart.Data.Oracle and Devart.Data.Oracle.Entity 7.1.58.0. We did not have problem with this version.
Is the problem in different versions for two files?
Thankyou very much,
Vladimir
Deploy Problem
Re: Deploy Problem
Problem Background and Solution:
After installing new version of dotConnect I have run Upgrade Tool from DevArt.
My assumption was that the tool checks compatibility of all referenced assamblies in the project with those of DevArt to be referenced by the upgrade tool. However, the tool made reference for Devart.Data.Oracle.Entity compatible with EntityFramework.dll of Version 6, although in the project there was reference to EntityFramework Version 4.4.0.0.
Somehow this is not a problem when application runs under Visual Studio. This is not the case with deploy package.
Therefore, it was necessary to remove reference to Devart.Data.Oracle.Entity for EF 6 and to create manuelly reference to Devart.Data.Oracle.Entity for EF 4 (Devart.Data.Oracle.Entity.dll for all Versions of EF are installed by DevArt into the installation directory).
The error message from ASP.NET engine complaining about not found Devart.Data.Oracle.Entity.dll Version 7.8.301.6 was missleading.
The question that I still have - should the tool check compatibility before setting references or not? I would assume the answer to the question should be Yes.
After installing new version of dotConnect I have run Upgrade Tool from DevArt.
My assumption was that the tool checks compatibility of all referenced assamblies in the project with those of DevArt to be referenced by the upgrade tool. However, the tool made reference for Devart.Data.Oracle.Entity compatible with EntityFramework.dll of Version 6, although in the project there was reference to EntityFramework Version 4.4.0.0.
Somehow this is not a problem when application runs under Visual Studio. This is not the case with deploy package.
Therefore, it was necessary to remove reference to Devart.Data.Oracle.Entity for EF 6 and to create manuelly reference to Devart.Data.Oracle.Entity for EF 4 (Devart.Data.Oracle.Entity.dll for all Versions of EF are installed by DevArt into the installation directory).
The error message from ASP.NET engine complaining about not found Devart.Data.Oracle.Entity.dll Version 7.8.301.6 was missleading.
The question that I still have - should the tool check compatibility before setting references or not? I would assume the answer to the question should be Yes.
Re: Deploy Problem
This is correct.ths wrote:it was necessary to remove reference to Devart.Data.Oracle.Entity for EF 6 and to create manuelly reference to Devart.Data.Oracle.Entity for EF 4
Yes, it should. We will post here when the issue is fixed.ths wrote:should the tool check compatibility before setting references or not?