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

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

安装程序

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

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

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

然后我立即选择了Build> Build Solution ,它失败并产生了这个错误和其他五个警告(如屏幕截图所示)。

错误

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

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

是的我知道…

…… 这个问题已被问过 很多次 – 但这些post的答案并没有提供足够的信息来解决我的问题。

请详细说明您的回复 ,并逐步说明,因为我是Visual Studio及其MVC应用程序开发框架的新手。

问题

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

截图

Visual Studio错误列表的屏幕截图

系统信息

Microsoft Visual Studio Ultimate 2012版本11.0.61030.00更新4

Microsoft .NET Framework版本4.5.50709

安装产品:

  • 架构和建模工具
  • 适用于Visual Studio 2012的LightSwitch
  • Office开发者工具
  • 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包管理器
  • PreEmptive Analytics Visualizer
  • SQL Server数据工具

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

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

AFAIK你不应该这样做,我疯狂地跟着你的步骤,没有在任何CPU下构建的问题。

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

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

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

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

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

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

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

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

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

使用Package Manager Console,我们运行了Update-Package EntityFramework -Reinstall ,这为我们删除了参考。

使用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