MvcBuild与ASP.NET MVC 2中的Entity Framework一起使用

Alp*_*tin 32 asp.net asp.net-mvc entity-framework csproj

在VS 2010中,<MvcBuildViews>true</MvcBuildViews>如果使用Entity Framework ,更改MVC2项目的.csproj文件会导致错误.

无法加载类型'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider'.C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config 129

我想在调试时构建视图,我也希望我的项目能够编译!

a7d*_*rew 58

您可以通过将以下元素添加到web.config文件来解决此MVC编译问题:

<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Run Code Online (Sandbox Code Playgroud)

这将告诉编译器在哪里找到丢失的类型.

  • 进入`<system.web> <compilation> <assemblies>` - 为了解决其他任何问题.参考http://stackoverflow.com/a/10078384/10245 (7认同)
  • 明显而合理的解决方案.谢谢.但是为什么这样的表现呢?为什么我需要将System.Data.Entity.Design命名空间添加到我的程序集中,这与我的代码无关.我是Visual Studio的工作,不应该将它添加到我的应用程序中. (5认同)

ben*_*age 5

我也有这个问题,并发现我创建了一些实体文件(edmx 等)但已删除它们。

这个问题只在我创建这些文件后才开始发生。在检查应用程序文件夹时,我发现 Visual Studio 实际上并没有将它们从驱动器中“删除”,它只是从项目中“删除”了它们。因此,在编译项目时,它看到了这个 edmx 文件并决定将其包含在内。因此错误。

轻松修复 - 从驱动器上永久删除实体文件!