C# 使用EF创建具有视图的MVC 5控制器时出错。删除系统内核

C# 使用EF创建具有视图的MVC 5控制器时出错。删除系统内核,c#,asp.net-mvc,entity-framework,controllers,asp.net-mvc-scaffolding,C#,Asp.net Mvc,Entity Framework,Controllers,Asp.net Mvc Scaffolding,当我开始一个新的空的C#MVC.NET4.6项目时,它包含了MVC的文件夹和引用。我将引用添加到我的数据库中,并继续使用EF创建新控制器并创建视图。一旦VS完成了它的工作,我打开其中一个创建的视图(在本例中为编辑),Razor语法的一部分被下划线,它告诉我我的System.Core没有被引用。我看到它被引用了,但解决这个问题的唯一办法是在我的bin文件夹中添加一个System.Core.dll。很确定这不应该发生 现在,如果我创建自己的空控制器并单独查看,就没有问题了。我很乐意采用这种方法,但我

当我开始一个新的空的C#MVC.NET4.6项目时,它包含了MVC的文件夹和引用。我将引用添加到我的数据库中,并继续使用EF创建新控制器并创建视图。一旦VS完成了它的工作,我打开其中一个创建的视图(在本例中为编辑),Razor语法的一部分被下划线,它告诉我我的System.Core没有被引用。我看到它被引用了,但解决这个问题的唯一办法是在我的bin文件夹中添加一个System.Core.dll。很确定这不应该发生

现在,如果我创建自己的空控制器并单独查看,就没有问题了。我很乐意采用这种方法,但我很想知道为什么它不能以另一种方式工作,或者我如何在一个更老更大的项目上恢复System.Core引用,而无需手动添加DLL。我在这个问题上已经忙了一天了

这是一个错误的例子。我尝试过重新启动和重置VS环境,但没有成功


检查引用的
System.Core.dll
是否与.Net 4.6版本相同。如果引用错误的.net framework版本不同,则会出现引用错误。如果是较旧的项目(.net 3.5),则会更改定义
System.Core
命名空间的位置。如果我没记错的话,它以前在
系统中
/
mscorlib
但现在它是一个单独的组件。您可能引用了错误版本的程序集。要检查的另一件事是,在
Views
文件夹中的
web.config
中有对
System.Core
的引用。。它将位于
部分。这是一个全新的.NET4.6项目。没有对它做任何幻想。为什么添加脚手架只会删除DLL。它显示在我的引用列表中,System.Core仍在被引用。