Update: 在Reference Manager中选择了对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
是的,我知道......
... this question has been asked - many times - 但这些帖子的答案并没有提供足够的信息来解决我的问题 .
Please, be specific in your response ,带有分步说明,因为我是Visual Studio及其MVC应用程序开发框架的新手 .
问题
What would cause Visual Studio not to work right out-of-the-box? 这是全新安装 . 是否有可能导致此问题或可以解决此问题的更新?
截图
系统信息
Microsoft Visual Studio Ultimate 2012版本11.0.61030.00更新4
Microsoft .NET Framework版本4.5.50709
Installed products:
-
架构和建模工具
-
LightSwitch for Visual Studio 2012
-
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数据工具
5 回答
在功能区上,选择显示“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上构建时,错误就会出现 .
使用包管理器控制台,我们运行了
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