2017-03-09 119 views
3

我在新的VS2017中打开了我现有的VS2015解决方案。希望它能够正常工作,但是,我在例如where子句中的@model,@ViewBag,@ActionLink,@Url,@ Partial,@Scripts,@Styles以及lambda表达式之下看到大量红线。在页面的模型上。Visual Studio 2017 cshtml文件错误

不知道什么是缺失或错误。该解决方案构建,但在cshtml文件中显示错误。

任何帮助或指导将有所帮助。

在此先感谢。 肯

+3

您是否尝试过重新打开文件几次或重新启动编辑器? 2015年我一直都是这样,但还没有机会尝试2017年。 – Scott

+0

你能分享更多关于这些项目类型的细节吗? – Jimmy

+0

我的解决方案包含一个面向.NET框架4.5.2的MVC项目。我知道在过去Razor文件缺少引用等问题。只是想知道是否有其他人有同样的问题。 –

回答

0

我有这个问题,https://stackoverflow.com/a/19696998/4484478修复了我。 我的解决方案是使用VS2012创建的。在RTM出来后,我开始使用VS2013和VS2015来处理这个解决方案,并且在我开始使用VS2017之后发生了OP描述的问题。

从答案后:

创建一个新项目瞄准同一个.NET框架,并复制它的意见/ web.config文件在顶部的一个在当前项目。

请注意,这里的web.config是Views文件夹中的一个,而不是主文件夹中的一个。这可能是解决问题的最简单方法。但是,如果您在此文件中有其他自定义功能,则可以尝试手动编辑Razor和MVC的版本号。从矿井改2.0.0.0 - > 3.0.0.0 Razor的

enter image description here

而且4.0.0.0 - 在我的情况> 5.2.3.0对于MVC enter image description here

enter image description here

+2

请将你的图像转换为格式化的代码块。看到你正在改变的东西是不同的,因为它的一部分被切断了,而且不可能复制/粘贴任何东西。 – jpmc26

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文件,并复制从工作文件的版本部分。

1

对于出现错误的项目,验证.csproj文件的顶部行是<Project Sdk="Microsoft.NET.Sdk.Web">,因为这是跳过我的查看相关文件。在更改之前,该行读取<Project Sdk="Microsoft.NET.Sdk">