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无法开箱即用? 这是一个全新的安装。 是否有可能导致此问题或可以解决此问题的更新?
截图
系统信息
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