Visual Studio 2017 cshtml文件错误

6
我在新的VS2017中打开了我的现有VS2015解决方案。希望它能够正常工作,但是我看到很多单词下面有红线,例如- @model,@ViewBag,@ActionLink,@Url,@Partial,@Scripts,@Styles,以及页面模型中where子句中的lambda表达式下面也有红线。
不确定缺少或错误了什么。解决方案可以构建,但是cshtml文件显示错误。
任何帮助或指导都将非常有用。
谢谢! 肯

3
你尝试过多次重新打开文件,或者重启编辑器吗?这在我使用2015年版本时经常发生,但我还没有尝试过2017年版本。 - Scott
你能分享更多关于这些项目的类型的细节吗? - Jimmy
我的解决方案包含一个针对.NET Framework 4.5.2的MVC项目。我知道过去在Razor文件缺少引用等方面存在问题。只是想知道是否还有其他人遇到了同样的问题。 - Ken Cronin
我找到了问题所在。我使用的是ASP.NET MVC 4,需要升级到ASP.NET MVC 5,然后一切都可以完美地运行。这是我遵循的链接...https://learn.microsoft.com/en-us/aspnet/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2 - Ken Cronin
3个回答

3
我遇到了这个问题,https://dev59.com/h2Ij5IYBdhLWcg3w_5vl#19696998帮我解决了。 我的解决方案是使用VS2012创建的。在RTM发布后,我开始使用VS2013和VS2015来处理这个解决方案,在我开始使用VS2017之后,OP所描述的问题出现了。

从答案帖子中:

创建一个新的项目,目标是相同的.NET框架,并将其Views/web.config文件复制到当前项目中的顶部。

请注意,这里的web.config是Views文件夹内部的文件,而不是主文件。这可能是最简单的修复方式。但如果您在此文件中进行了其他自定义,则可以尝试手动编辑Razor和MVC的版本号。我的从2.0.0.0更改为3.0.0.0(Razor)

输入图像描述

和4.0.0.0 -> 5.2.3.0(MVC) 输入图像描述

输入图像描述


2
请将您的图像转换为格式化的代码块。这样可以清楚地看到您所做的更改,因为有些内容可能被截断,而且无法复制/粘贴任何内容。 - jpmc26
还必须更新视图文件夹中的web.config以引用我的网站的命名空间。创建新项目和更改命名空间引用最终解决了问题。 - Kevin M

1
针对出现错误的项目,请确认.csproj文件顶部一行为<Project Sdk="Microsoft.NET.Sdk.Web">,因为这可能会影响我的视图相关文件。更改之前,该行内容为<Project Sdk="Microsoft.NET.Sdk">

1
在我的情况下,问题出现在解决方案 (.sln) 文件的版本上。
在上面,我用以下版本进行了替换:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26403.0
MinimumVisualStudioVersion = 10.0.40219.1

最好的方法是在您选择的VS中创建一个新的解决方案,然后比较.sln文件,并从工作文件中复制版本部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接