Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 587
J86 Avatar asked Feb 16 '11 19:02

J86


4 Answers

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>
like image 146
A. M. Avatar answered Nov 04 '22 02:11

A. M.


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.

like image 7
Ankur Bhutani Avatar answered Nov 04 '22 02:11

Ankur Bhutani


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).

like image 3
Thomas McNamee Avatar answered Nov 04 '22 01:11

Thomas McNamee


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.

like image 2
efkah Avatar answered Nov 04 '22 03:11

efkah