Visual Studio 2015 不是语法突出显示剃刀也不是 Intellisense

Posted

技术标签:

【中文标题】Visual Studio 2015 不是语法突出显示剃刀也不是 Intellisense【英文标题】:Visual Studio 2015 not syntax highlighting razor nor Intellisense 【发布时间】:2015-07-30 10:31:58 【问题描述】:

我在 VS2015 RC 中的 Razor 视图未显示 C# 代码的正确着色。我的项目在 VS2013 中运行良好,但不是在 2015 年,而且它没有给我任何关于 C# 代码的 Intellisense。解决方案构建完毕,网站运行良好。

我尝试了以下方法无济于事

禁用所有 Visual Studio 扩展 删除我的.suo 文件 删除项目并将其重新添加到解决方案中

我该如何解决这个问题?

例子:

【问题讨论】:

您是否考虑过等待完整版本?当前的仍然有很多错误,只是为那些不耐烦的人提供预览。 您是否安装了快捷会议工具?在我的情况下,他们在 vs 中崩溃了很多...... Curretnly 现在在 vNext PRojects 中得到了突出显示 这仍然发生在 VS2015 Professional 中。该线程中的任何答案都无法永久解决该问题。语法突出显示仍然损坏。 如果以下答案都不能解决问题,您可能想看看这里:***.com/questions/33245041/… 安装 .NET Core 1.0.0 为我解决了这个问题。我从同样的问题开始,但也遇到了 Web 模板的问题(不适用于新项目)。始终选中“Microsoft Web Developer Tools”上的复选标记(如下面的答案之一所述)。 检查您的 MVC 版本。如果它是 3 或更少,那么 VS 2015 不支持它。 【参考方案1】:

我在answer 中找到了另一种无需devenv.exe /ResetUserData 即可修复它的方法

只需在 Visual Studio 关闭的情况下删除此目录的内容: %LocalAppData%\Microsoft\VisualStudio\<visual_studio_version_number>\ComponentModelCache

要查找您正在运行的 Visual Studio 版本的版本号,请参阅this 列表。请注意,只有主要版本号很重要,次要版本可以并且可能会有所不同。就我而言,我安装了 Visual Studio 2017 Enterprise,因此我在 AppData 文件夹中查找 15.xx 并找到了 15.0_9a1c4a06

【讨论】:

这对我有用。 VS 2015 企业版 14.0.23107.0 D14REL 谢谢。这比在 VS2015 Enterprise 中重置所有用户数据更好 曾为 VS 2015 企业版工作 这应该是主要解决方案,在 VS 2015 企业版中也对我有用 这对我有用,我同意这应该是主要的解决方案。我正在使用专业版。非常感谢。【参考方案2】:

我遇到了同样的问题,目前唯一的解决方法是重置所有用户数据 (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData)。

注意:您将丢失所有自定义设置,例如如果你这样做,键盘快捷键和窗口布局!

编辑:人们说这仅适用于 RC,不适用于 RTM,因此您可能想先尝试其他修复。

【讨论】:

虽然这可能不是最好的解决方案,但它对我有用!谢谢!我想知道这是否与安装以前的 CTP 版本有关。 你可以先导出键绑定,然后再恢复它们 该命令行中的“>”符号是否正确?通过用反斜杠替换它对我有用。但是这个解决方案也对我有用! 你会丢失所有插件。 我有企业版(VS 2015)。这个版本有什么可能的解决方案吗?上述解决方案对我不起作用。【参考方案3】:

我在 VS 2015 RTM 中遇到了同样的问题,并且能够通过以下方式在安全模式下加载 Visual Studio 来解决它:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /SafeMode

然后正常关闭再重新打开。

【讨论】:

它确实对我有用,值得一试。您不会丢失当前设置。 这对我不起作用,该错误也出现在安全模式中(显然在以“标准”方式重新打开之后)。 感谢您让我免于丢失设置! 在我的 VS 2015 Enterprise 上工作 太棒了!也为我工作。值得一试,我过去几次都把我的设置搞砸了。【参考方案4】:

更新 Visual Studio 2015 Update 1 后,我遇到了同样的问题。我尝试了所有答案,但对我不起作用。

对我来说,解决方法是转到程序和属性 > Visual Studio 社区版 > 更改。我点了修改。

确保在列表中勾选“Windows 和 Web 开发”下的 “Microsoft Web 开发人员工具”

它没有在我的列表中检查:/

【讨论】:

不幸的是,当我尝试这个时,复选标记又回来了。 : 看这里:***.com/questions/33245041/… 症状是一样的。我通过安装 .NET Core 1.0.0 解决了这个问题【参考方案5】:

工具 > 选项 > 文本编辑器 > 所有语言 > 常规。 取消选中隐藏高级成员选项。单击确定。

一旦我这样做了,Intellisense 似乎对我有用。然后我将其重置并保留功能。我正在使用 Visual Studio 2015 企业版。

我曾尝试过 ResetUserData,但这对我不起作用。

【讨论】:

它工作了,然后又回到不工作 这对我来说不适用于 c#。但是,我进入文本编辑器 > C# 并选中/然后取消选中“隐藏高级成员”,然后按下确定,智能感知再次开始工作。 这对我也有用,比重置我的环境要好得多! 取消选中后一直被选中 我遇到了一个问题,智能感知菜单会在瞬间弹出然后消失 - 这解决了这个问题,现在菜单按预期保持可见。【参考方案6】:

我安装了 Visual Studio Community Edition 2015(在长时间使用 Visual Studio Community Edition 2013 之后)并遇到了同样的问题。我尝试了上述所有解决方案,但没有任何帮助。

最后,关闭 Visual Studio 并删除以下文件夹 -

C:\Users\Allwyn\AppData\Roaming\Microsoft\VisualStudio\14.0
C:\Users\Allwyn\AppData\Roaming\Microsoft\VisualStudio\14.0

...现在可以使用了!!!

【讨论】:

这对我有用(完整版本)VS 2015 企业版 有时这行得通,有时却不行。它为我修复了大约 5 分钟,然后它又开始发生了。 这至少暂时解决了我的问题。它可能不会继续工作,但我们会看到。似乎是一个奇怪的错误,微软应该修复。 2015 年和 2017 年都有这个问题【参考方案7】:

运行 VS 2015 RTM。 /ResetUserData 和 /SafeMode 都不适合我。在启动 VS 时,还有一些与 Productivity Power Tools 2015 相关的抱怨“errors-in-ActivityLog.xml”弹出窗口。

所以,如果您有类似的症状,以下是我在我的机器上修复它的方法:

    启动“启动 Visual Studio 2015 的实验性实例” 并打开您的项目。如果智能感知正常工作并且突出显示了 razor 语法,那么您很有可能会进行以下操作。 卸载“Productivity Power Tools 2015”并关闭 Visual Studio。 转到%LOCALAPPDATA%\Microsoft\VisualStudio\ 并删除14.0 文件夹。 启动 VS - 它应该在刚安装时启动。

附:实际上,我花了好几次才让我的智能感知工作,因为我先禁用了 PowerTools,然后重新启用后再次破坏了 VS。因此,它需要完全重新安装。在您的情况下,可能是由另一个扩展引起的。

【讨论】:

为我工作! Visual Studio 2015 企业版。 无需卸载“Productivity Power Tools 2015”即可为我工作。 Visual Studio 2015 企业版。【参考方案8】:

如果您的项目是 MVC4,这将是效果。查看更多详情here。另请注意,这将在即将发布的版本中更正。 你怎么知道你的项目是否是 MVC4?打开 packages.config 并滚动到 Microsoft.AspNet.Mvc 的条目。如果列出的版本以“4”开头,则表示您使用的是 MVC 4。

【讨论】:

这确实是我的问题,/resetuserdata 没有帮助:( 欲了解更多信息:asp.net/mvc/overview/releases/… 与MVC4无关。使用 MVC5 和 6 的项目仍然存在这些问题。 这就是我最终发现的原因。我的项目是 MVC 3。VS 2015 不支持 MVC 3。我试过的其他方法都没有。【参考方案9】:

我有一个类似的问题,任何剃须刀脚本都不会突出显示,智能感知不起作用,编译器也不会识别任何错误(即使我故意放入语法错误!)

我实际上是通过转到 C:/Users/YourUserName/AppData/Local/Temp 并删除此文件中的所有内容来解决问题,我这样做并重新启动 VS 我的 Razor Views 开始工作!

希望有帮助!

【讨论】:

这对我有用。我不得不手动删除 Razor-Server 文件夹中的一些项目,这些项目在编译过程中被锁定。【参考方案10】:

有些观点对我来说很好,有些则根本不行......唯一对我有帮助的事情:

关闭VS 正在删除 C:\Users\%username%\AppData\Local\Temp 重启VS 问题已解决

我也尝试了大多数其他解决方案,但它们对我不起作用。

【讨论】:

【参考方案11】:

友情提醒,确保您在视图顶部正确使用了小写@model,而不是@Model(就像我做错了一样)。

小写的@model 是一个指令,它将视图强类型化为跟随它的类的实例。而大写的Model 是获取模型实例的视图的属性。

【讨论】:

【参考方案12】:

我通过将文件包含在项目/解决方案中来解决了这个问题。如果不包括在内,我会忽略没有突出显示/智能感知的事实。

【讨论】:

【参考方案13】:

我遇到了同样的问题,不得不下载并安装“Microsoft ASP.NET and Web Tools”和“Web Essentials”。完成此语法突出显示后,Razor intellisense 再次开始工作。

【讨论】:

对我没有影响。 VS2015 专业版。 我正在使用 VS2015 社区。您是否尝试过 Geir Sagbergs 解决方案?在 CMD 中运行:“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe”/ResetUserData 是的。我已经在 *** 上的每个线程中尝试了所有解决方案。没有任何效果。我什至重新安装了 VS 和我的操作系统。 如果你在重新安装后创建一个新的控制台项目,它不会在那里工作吗?【参考方案14】:

卸载并重新安装以下对我有用:

Microsoft.AspNet.Mvc

Microsoft.AspNet.WebPages

Microsfot.AspNet.Razor

我尝试了重置用户数据,删除 temp 和 14,以及更改选项设置,但这些都不起作用。我什至尝试修复并重新安装。我正在使用 VS 2015 版本 14.0.24720.00 更新 1

【讨论】:

这也适用于我,我有一个 MVC4 站点,我一直在 VS2013 中工作,因为在更新 1 之前缺乏支持。安装更新 1 后,它在 2015 年仍然无法工作,但是从 Nuget 卸载并重新安装软件包解决了这个问题。【参考方案15】:

您应该只删除项目中的“.vs”文件夹。(.vs 文件夹已隐藏)

小心 ResetUserData 删除 Visual Studio 上的所有自定义。

【讨论】:

【参考方案16】:

唯一对我有用的是将项目的“输出路径”更改为bin\(以前是bin\Debug):

    右键单击项目, 点击Properties并导航到Build, 滚动到标题为“输出”的最后一部分, 将标记为Output path: 的文本框中的值更改为bin\

【讨论】:

【参考方案17】:

上述方法不起作用,但我成功了:

卸载(从 Windows 程序和功能)Web Developer Tools 用于 VS 2015、RC、更新 1 正在安装(从 VS 安装程序 -> 修改)Web Developer Tools(这是上面的另一个版本)

所以问题是 VS 安装程序没有安装 Web 开发工具,将已安装的不兼容版本识别为正确的版本。

【讨论】:

【参考方案18】:

我通过将我的项目更新到 ASP .NET MVC 版本 5 解决了这个问题。 但它需要对配置文件进行一些进一步的操作。 Here我找到了分步指南:

在 global.asax 中,更改: WebApiConfig.Register(GlobalConfiguration.Configuration);GlobalConfiguration.Configure(WebApiConfig.Register); 确保您的项目使用的所有包都与 MVC 5 和 Web API 2 兼容 删除以下任何已安装的 ASP.NET NuGet 包:
    Microsoft.AspNet.WebPages.Administration Microsoft-Web-Helpers(不要与 Microsoft.AspNet.WebHelpers 混淆!) Microsoft.AspNet.Mvc.FixedDisplayMode
升级所有 ASP.NET NuGet 包。在包管理器控制台中,您可以运行以下命令:Update-Package。如果没有任何参数,它将更新每个包。 更新应用程序和视图配置文件:
    对于名称属性为“System.Web.Mvc”的所有元素,将版本号更改为新版本(在解决方案资源管理器中检查程序集版本,它必须等于或高于“5.0.0.0”) 对名称属性为 "System.Web.Helpers""System.Web.WebPages" 的所有元素执行相同操作。 检查程序集 "System.Web.Helpers""System.Web.Mvc""System.Web.WebPages" 的绑定重定向strong> 在配置文件中,“oldVersion”和“newVersion”必须符合上面所做的更改。 找到 appSettings 部分并将 webpages:version 从“2.0.0.0.0”更新为“3.0.0.0” 将所有包含 “System.Web.WebPages.Razor” 的元素从“2.0.0.0”版本更新到“3.0.0.0”版本。如果此部分包含“System.Web.WebPages”,请将这些元素从版本“2.0.0.0”更新到版本“3.0.0.0” 如果您在之前的步骤中删除了 Microsoft-Web-Helpers NuGet 包,请在包管理器控制台中使用以下命令安装 Microsoft.AspNet.WebHelpersInstall-Package -Id Microsoft.AspNet.WebHelpers

我希望这会有所帮助。

【讨论】:

【参考方案19】:

一种非侵入性方法是检查您的 Views web.config 文件中的正确版本。这些 Web.config 文件位于 app/Area/AreaName/Views 或通用 app/Views 文件夹下。它们与项目 Web.config 文件不同。

确保类型程序集字符串中的每个版本都与您的 NuGet 安装版本匹配 确保 factoryType 程序集字符串中的版本与您的 NuGet 安装版本匹配

这是撰写此评论时最新的示例:

<configSections>
 <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
 <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
 <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
 </sectionGroup>
 </configSections>
<system.web.webPages.razor>
 <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

【讨论】:

【参考方案20】:

对我有用的(VS 2015 社区)是this 答案中建议的选项。以管理员身份运行 cmd.exe,我运行了以下内容:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /setup

【讨论】:

【参考方案21】:

我一直在下载和安装“Microsoft ASP.NET 和 Web 工具”和“Web Essentials”,它对我有用。

【讨论】:

以上是关于Visual Studio 2015 不是语法突出显示剃刀也不是 Intellisense的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio Code 中自动设置语法突出显示的语言

如何在 .ntl 模板文件的 Visual Studio Code 中启用 HTML 语法突出显示?

即使保留语法突出显示,将代码从 Visual Studio Code 复制到 OneNote 也会丢失选项卡缩进

Visual Studio 数据绑定属性突出显示 [knockout.js]

Visual Studio代码是否不突出显示.pug文件?

Visual Studio Code - 有啥方法可以分别突出显示不同类型的错误和警告?