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

问题描述 投票:0回答:5

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

设置

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

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

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

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

错误

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

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

是的,我知道...

...这个问题已被问过 - 很多次 - 但这些帖子上的答案没有提供足够的信息来解决我的问题。

请在您的回复中具体说明,并提供分步说明,因为我是 Visual Studio 及其 MVC 应用程序开发框架的新手。

问题

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

截图

Screenshot of Visual Studio Error List

系统信息

微软 Visual Studio 旗舰版 2012 版本11.0.61030.00更新4

微软.NET框架 版本 4.5.50709

已安装产品:

  • 架构和建模工具
  • 用于 Visual Studio 2012 的 LightSwitch
  • Office 开发者工具
  • Visual Studio 2012 的团队资源管理器
  • Visual Basic 2012
  • Visual C# 2012
  • Visual C++ 2012
  • 视觉 F# 2012
  • Visual Studio 2012 代码分析拼写检查器
  • Visual Studio 2012 SharePoint 开发人员工具
  • ASP.NET 和 Web 工具
  • LNDevEnv
  • NuGet 包管理器
  • 先发制人的分析可视化工具
  • SQL Server 数据工具
c# asp.net-mvc visual-studio-2012 build
5个回答
9
投票

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


4
投票

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

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

据我所知,您不必这样做,我完全按照您的步骤操作,并且在任何 CPU 下构建都没有问题。

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


3
投票

我在 MVC 4 中遇到了同样的问题(在 MVC 3 中应该类似),以下是为我解决的问题:

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

  • 在属性窗口中将属性 Copy Local 更改为“True”

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

完成此操作后,运行开箱即用的 MVC 3/4 应用程序应该可以工作。


1
投票

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

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

使用包管理器控制台我们运行了

Update-Package EntityFramework -Reinstall
,这为我们删除了参考。


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 等45

然后选择实体framework.dll

© www.soinside.com 2019 - 2024. All rights reserved.