Visual Studio 2012 MVC生成错误:名称空间“System.Data.Entity”中不存在类型或命名空间名称“Infrastructure”

时间:2014-04-01 20:27:44

标签: c# asp.net-mvc visual-studio-2012 build

更新:在参考管理器中选择了对 System.Data.Entity 的程序集引用。

设置

尝试运行开箱即用的ASP.NET MVC 3 Web应用程序时出错。我没有做任何改动。

我只是选择了文件>新项目> Visual C#> ASP.NET MVC 3 Web应用程序并保留所有默认设置。

项目设置下,我为模板选择了 Internet Application ,为视图引擎选择了 Razor ,并选中了使用HTML5语义标记

然后我立即选择 Build>构建解决方案失败并产生此错误和其他五个警告(如屏幕截图所示)。

错误

  

错误1名称空间“System.Data.Entity”中不存在类型或命名空间名称“Infrastructure”(您是否缺少程序集引用?)

     

C:\ Users \ johndoe \ Documents \ Visual Studio 2012 \ Projects \ MvcApplication1 \ MvcApplication1 \ Global.asax.cs

是的,我知道......

... this question has been asked - many times - 但这些帖子的答案并未提供足够的信息来解决我的问题。

请详细说明 ,并附带分步说明,因为我是Visual Studio及其MVC应用开发框架的新手。

问题

什么会导致Visual Studio无法开箱即用?这是全新安装。是否有更新可能导致此问题或可以解决此问题?

截图

Screenshot of Visual Studio Error List

系统信息

Microsoft Visual Studio Ultimate 2012 版本11.0.61030.00更新4

Microsoft .NET Framework 版本4.5.50709

已安装的产品:

  • 架构和建模工具
  • 适用于Visual Studio 2012的LightSwitch
  • Office Developer Tools
  • Visual Studio 2012的团队资源管理器
  • Visual Basic 2012
  • Visual C#2012
  • Visual C ++ 2012
  • Visual F#2012
  • Visual Studio 2012代码分析拼写检查器
  • Visual Studio 2012 SharePoint开发人员工具
  • ASP.NET和Web工具
  • LNDevEnv
  • NuGet Package Manager
  • PreEmptive Analytics Visualizer
  • SQL Server数据工具

5 个答案:

答案 0 :(得分:9)

我遇到了同样的问题,并通过添加对Entity Framework的引用来解决它。 这是通过右键单击"参考"在解决方案资源管理器中,选择"添加参考"接下来,浏览到C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE。选择EntityFramework.dll。

答案 1 :(得分:4)

在功能区上,选择显示“Debug”的下拉列表,然后选择Configuration Manager。从那里,选择“平台”下的下拉列表,单击“新建”,然后在“新建平台”下选择“x86”。点击确定并关闭配置管理器。尝试构建项目。

System.data.entity是一个32位程序集,因此您可能必须将项目构建为x86。如果这不起作用,您可以按照上面的相同步骤选择x64,然后重试。

AFAIK你不应该这样做,我按照你的步骤激动地在任何CPU下都没有问题。

您也可以尝试安装entityframework。右键单击引用,管理nuget包,单击在线,您应该看到EntityFramework出现在中间列。

答案 2 :(得分:3)

我在MVC 4中遇到了同样的问题(应该在MVC 3中类似),这就是为我修复的问题:

  • 在项目资源管理器中展开您的参考资料,然后单击程序集参考(System.Data.Entity,此处使用的任何其他程序集参考都将在此处)

  • 在“属性”窗口中,将“将本地复制”属性更改为“True”

  • 对包含但引发构建错误的所有程序集引用重复上述两个步骤

运行开箱即用的MVC 3/4应用程序应该在完成后运行。

答案 3 :(得分:1)

如果将构建设置更改为x86会导致本地构建错误,则此解决方案可能适合您。

我们遇到了同样的错误,我们的问题是以前版本的Entity Framework有不再需要的剩余引用,但仍然导致构建错误。我们没有在本地获得构建问题,但是当尝试在TeamCity上构建时,错误就会出现。

使用程序包管理器控制台,我们运行了Update-Package EntityFramework -Reinstall,这删除了我们的参考资料。

答案 4 :(得分:0)

使用visual studio 2012,我可以通过浏览路径添加引用来解决此问题: - C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Entity Framework Tools \ NuGet Packages \ EntityFramework.5.0.0 \ lib \ net45

然后选择实体framework.dll