2
votes

I have a an problem with my .NET 5.0 Web API project in which I 'm using Entity Framework 6.1.3. in this project, I need to use some .Dll references of some old projects used Entity framework 6.0.0. I have got the exception "Could not load file or assembly 'EntityFramework.SqlServer, Version=6.0.0.0 ......" without I have updated Entity framwork in all projects to be version 6.1.3. Please help me!

This is Project.json:

{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {
  "Microsoft.AspNet.Server.IIS": "1.0.0-beta6",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"EntityFramework": "6.1.3",
"EntityFramework.SqlServer": "7.0.0-beta6",
"EntityFramework.Commands": "7.0.0-beta6",
"structuremap": "3.1.6.186",
"Microsoft.AspNet.Mvc": "6.0.0-beta6",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta6",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta5",
"System.ServiceModel.Duplex": "4.0.0-beta-23019",
"System.ServiceModel.NetTcp": "4.0.0-beta-23019",
"System.ServiceModel.Security": "4.0.0-beta-23019"

},

"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini",
"ef": "EntityFramework.Commands"
},

"frameworks": {
"dnx451": {
"dependencies": {
"CuttingEdge.Conditions": "1.0.0-*",
"Quartz": "1.0.0-*",
"Project.Application": "1.0.0-*",
"Project.Finance": "1.0.0-*",
"Project.Infrastructure": "1.0.0-*",
"Project.QuartzScheduler": "1.0.0-*",
"Project.ServiceDesks": "1.0.0-*",
"Project.Utilities": "1.0.0-*",
"Project.WCFMock": "1.0.0-*"
},
"frameworkAssemblies": {
"System.ServiceModel": "4.0.0.0"
}
}
},

"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
]
}

I have update the Entity Framework in the old projects to be version 6.1.3 and setup in the App.config:

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.1.3.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

But the above exception still occurs. Please help me!

This is the full error:

Could not load file or assembly 'EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
1
Could you please let us know what comes after Could not load file or assembly 'EntityFramework.SqlServer, Version=6.0.0.0 ? - Jurgen Camilleri
That exception occurs when I using StructureMap to call the Object Context from the Dll of the old project: _accountService = ObjectFactory.GetInstance<IAccountService>(); - van thanh tran
What I meant is: can you show us the full error rather than replacing the rest with ......? - Jurgen Camilleri
I have posted the full error. Please Help! - van thanh tran

1 Answers

0
votes

Your problem is that you are loading both EF6 and EF7 (you have both versions in your project.json). You should either downgrade your EntityFramework.SqlServer to version 6, or upgrade your EntityFramework to version 7.

In other words, either use EF6 or EF7, but don't mix assemblies from different versions.

"EntityFramework": "6.1.3",
"EntityFramework.SqlServer": "7.0.0-beta6",
"EntityFramework.Commands": "7.0.0-beta6",