我在一个解决方案(一个笑话网站)中工作。该解决方案有2个项目:
我试图让我的视图列出数据库中的笑话,但是我收到以下错误:
无法加载文件或程序集'System.Data.Entity,Version = 4.0.0.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个 依赖。系统找不到指定的文件
从错误消息中可以看出,我已经将System.Data.Entity添加到MVC 3应用程序的web.config中。
无论我做什么,我似乎无法修复错误!我已经为Entity类添加了using语句,HomeController和Index.cshtml。
答案 0 :(得分:49)
要在ASP.NET MVC 3中使用外部实体框架模型(例如嵌入DLL),您必须:
...
< compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
答案 1 :(得分:7)
解决此错误:
如果您安装了任何实体框架工作并且收到错误,请单击“添加参考”,然后在“浏览”选项卡中转到以下位置:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
选择查找System.Data.Entity.dll然后添加它。这将解决此问题。
答案 2 :(得分:3)
我得到了同样的错误,这是因为MVC3项目使用了Entity Framework 4.1,而我的域模型(在类库项目中,相同的解决方案)在我添加引用时抓住了4.2。 我从我的Web项目卸载EF,然后重新安装,现在都有4.2并且工作正常。 目前正在使用Apress标题,Pro ASP.NET MVC Framework(Freeman)。
答案 3 :(得分:2)
解决此问题的另一种方法是添加空的edmx文件(Add -> Class -> Data -> ADO.NET Entity Data Model
)并在之后删除它。
我不确定Visual Studio向导的功能,但它在我的机器上是一个常见问题,而且我总是这样修复它。
答案 4 :(得分:0)
确保您在项目中引用了System.Data.Entity
程序集。不仅在web.config assemblies
部分,而且还有那些被引用的程序集。还要确保运行此应用程序的服务器上的GAC中存在System.Data.Entity,V4.0.0.0。