Could not load file or assembly 'System.Data.E

2019-01-11 18:12发布

问题:

I am working within a Solution (a jokes website). The Solution has 2 Projects:

  1. Model (C# Class Library)
  2. MVC 3 Empty Application

I am trying to get my view to list the Jokes in the Database, but I get the following error:

Could not load file or assembly 'System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified

As you can see from the Error message, I have already added the System.Data.Entity to the web.config of the MVC 3 application.

No matter what I do, I seem to be unable to fix the error! I have added using statements for the Entity class, to the HomeController and the Index.cshtml.

回答1:

To use an external Entity Framework model (embed in a DLL for example) with ASP.NET MVC 3 you must :

  1. Add the following reference to your MVC project : System.Data.Entity (Version 4.0.0.0, Runtime v4.0.30319)
  2. Add the following line in your web.config

...

< compilation debug="true" targetFramework="4.0">

  <assemblies>
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </assemblies>
</compilation>


回答2:

To resolve this error:

  • Go to references section in your project
  • Right click it and than go add library package reference.
  • search in online tab for entity framework
  • you will get a lot of installed packages if u have internet connection enabled
  • Select EF4 package, and finally, add it

If you have any entity frame work installed and you are getting an error then click for add reference and in Browse tab go to below location:

C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0

Select to find System.Data.Entity.dll and then add it. This will resolve this issue.



回答3:

I was getting the same error, and it was because the MVC3 project used Entity Framework 4.1, and my domain model (in a class library project, same solution) grabbed 4.2 when I added the reference. I uninstalled EF from my Web project, then reinstalled, now both have 4.2 and are working fine. Currently working with the Apress title, Pro ASP.NET MVC Framework (Freeman).



回答4:

another way to solve this is to add empty edmx file (Add -> Class -> Data -> ADO.NET Entity Data Model) and delete it afterwards. I am not sure what the Visual Studio Wizard does, but it`s a common problem at my machine and i always fix it like that.



回答5:

Make sure you have referenced the System.Data.Entity assembly in your project. Not only in the web.config assemblies section but also those assemblies being referenced. Also make sure that the System.Data.Entity, V4.0.0.0 is present in the GAC on the server you are running this application.