Visual Studio MVC 5显示错误但编译并运行正常

Sta*_*ity 17 c# asp.net-mvc visual-studio-2012 asp.net-mvc-5

我得到了一个相当奇怪的错误,这似乎是在我更新了几个NUGET包(包括MVC 5)时开始的.在我的"_Layout.cshtml"文件中,我现在收到您在此图片中可以看到的错误消息(抱歉,我太新了,不能直接在此处发布).

请看这里的错误

这些列为错误,而不是警告.然而,我的构建成功,项目运行,据我所知,它工作正常.当我打开"_Layout.cshtml"文件时,我只看到这些错误.它表现得好像看不到"System.Web.Optimization".但是,如果我将鼠标悬停在该行上,它将提示我插入该文本并让它说:

@System.Web.Optimization.Styles.Render("~/Content/kendo/css")
Run Code Online (Sandbox Code Playgroud)

代替:

@Styles.Render("~/Content/kendo/css")
Run Code Online (Sandbox Code Playgroud)

但我以前从来没有明确地说明这一点,如果我开始一个新项目,它不需要我这样做.显然,我的更新的某些部分引起了这种奇怪的行为(我认为它与某个地方的配置设置有关,但我无法弄清楚是什么或在哪里).我已经检查了两个配置文件("项目"一个和"视图"一个),我很确定问题必须存在,但是我无法看到问题.如果这是一个正常的"类"文件,这将是显而易见的,我是缺少在顶部有一个"使用"的声明,但这似乎并不适用于此.

任何人都可以指出我的解决方案,除了明确指出代码中的完整引用,如上所述?这似乎不应该是必要的,我觉得我这样做是为了避开这个问题.

Tom*_*mmy 7

导致此问题的最可能原因是View文件夹中的web.config已损坏.升级ASP.NET MVC 5需要进行相当多的配置更改,我不确定NuGet包管理器是做什么的(或者做得好,我认为它会处理其中的一些).与MVC 5 .dll一起,许多其他相关程序集也需要更新,相关参考也需要更新.

请查看以下教程,确保您已完成所需的每个步骤.然后进行清理,重建并查看问题是否已解决.

我发现有时候让VS创建一个新的MVC项目更好,然后查看并比较它生成的web.configs(应用程序根目录以及视图文件夹web.config)到项目的配置文件以确保您不包括不属于的名称空间,并且所有版本号都是正确的.