我经历了很多类似的问题,但找不到任何对我有用的东西。
我将我的IDE从VisualStudio for Web(v10)升级到Visual Studio 2015(v14,我猜)社区版。 我尝试在新IDE上使用的主要项目是MVC 5(5.2.3),EF 6.1(6.1.3)以及其他一些东西。
问题是:在新IDE上打开项目时,一切看起来都很好(甚至编译和工作)。我在项目资源管理器上运行了MVC上下文菜单(显示"添加控制器......""添加视图..."适当时)。 Razor Intellisense只是(真的很烦人)。
当我打开一个View文件(.cshtml)时,我会收到几个帮助者的警告,其中一些是"使用"是灰色的(尽管它们应该是必需的)并且@model myModel在@model指令不是razor之后显示为所有内容(它通过intellisense着色被视为HTML)。
我已经找到并尝试过:
答案 0 :(得分:6)
好的,终于明白了。 发布我发现相信它可以帮助其他人:
似乎导致上述问题的原因是该项目是在旧的MVC版本(使用较旧的Razor,EF等)上创建的。
如本回答所述:Visual Studio 2015 Razor View MVC Types not recognized,VS2015工具可能无法用于较旧的MVC。
解决方案是将所有软件包更新为[至少]在较新的MVC(5?)上接受的次要版本。为此,您可以使用此网站中的列表:http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2。
一旦所有内容都是最新的,请打开位于应用程序根目录和Views文件夹中的web.config文件。在那里,你可能会发现一些旧版本的MVC和Razor的引用。更新这些版本的值(所有这些值)以匹配软件包的更新版本(您可以在新的Visual Studio上创建一个新的空MVC项目,并检查这些值作为它们应该是什么的提示)。
这一步是抓住了!因为,即使您更新了项目的软件包,一些web.config引用仍然可能会提到原始版本。
清理解决方案(Build> Clean Solution)并关闭项目。重新打开并编译它。现在[希望]一切都应该正常。
[编辑]