Visual Studio 2015 Broken Razor Intellisense

Cri*_*ghi 140 c# asp.net-mvc intellisense razor visual-studio-2015

在安装然后修复我的VS2015实例后,我仍然无法让智能感知(服务器端)在我的MVC视图中工作.我第一次在会话中打开一个.cshtml文件时会收到消息提示,然后发送到Activitylog文件.在ActivityLog.xml(简短版本)中检索到错误消息:

System.ArgumentException:已添加项目.词典中的关键词:'RazorSupportedRuntimeVersion'

这是完整版:

System.Reflection.TargetInvocationException:调用目标抛出了异常.---> System.ArgumentException:已添加项目.词典中的关键词:'RazorSupportedRuntimeVersion'重点正在补充说:"RazorSupportedRuntimeVersion"在System.Collections.Hashtable.Insert(对象键,对象n值,布尔加)在System.Collections.Hashtable.Add(对象键,对象值)System.Collections.Specialized.HybridDictionary.Add在Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty(对象键,对象属性)在Microsoft.VisualStudio.Html.Package.Razor.RazorVersionDetector.Microsoft.Html.Editor.ContainedLanguage.Razor.Def.IRazorVersionDetector(对象键,对象的值) .GetVersion(ITextBuffer textBuffer)at Microsoft.Html.Editor.ContainedLanguage.Razor.RazorUtility.TryGetRazorVersion(ITextBuffer textBuffer,Version&razorVersion)at Microsoft.Html.Editor.ContainedLanguage.Razor.RazorErrorTagger..ctor(ITextBuffer textBuffer)--- End内部异常堆栈跟踪---在System.System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr)中的System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo文化)中的RuntimeMethodHandle.InvokeMethod(Object target,Object []参数,Signature sig,Boolean构造函数) System.Activator.CreateInstance(Type type,BindingFlags bindingAttr,Binder binder,Object [] args,CultureInfo culture,Object [] activationAttributes)at,Binder binder,Object [] args,CultureInfo culture,Object [] activationAttributes,StackCrawlMark&stackMark) Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator'中的Microsoft.Html.Editor.ContainedLanguage.Common.ContainedCodeErrorTaggerProvider'1.CreateTagger [T](ITextBuffer textBuffer)中的System.Activator.CreateInstance(Type type,Object [] args)1.GatherTaggers(ITextBuffer textBuffer)

如果有任何帮助,我会进行一些字体着色自定义,并安装Web Essentials,Bundler和Minifier以及Web编译器扩展.

更新:当我打开现有的Web应用程序或从头开始创建一个全新的Web应用程序时,它就会发生.还有一个VS2013的实例在同一台机器上安装并运行.

根本没有智能感知

正如你从上面的图片中看到的那样,我根本没有智能感知,也没有任何代码着色.

有关如何解决它的任何线索?提前致谢.

bra*_*hnp 162

这也一直在为我重复出现,似乎与扩展更新有关,但我还没有能够责怪任何具体的事情.我能够发现的是一种不那么具有侵入性的解决方案.

在我的情况下,删除此目录的内容允许IDE恢复:

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

编辑:我刚刚看到这个也可能很方便 - 清除MEF组件缓存(打开VSIX库)

  • 这对我有用*没有*运行devenv.exe/resetuserdata (13认同)
  • ResetUserData对我有用,但问题又回来了.这样可以工作并且不那么具有侵入性(无需恢复所有扩展). (6认同)
  • 这对我也有用.我首先尝试了resetuserdata命令,但似乎没有做任何事情.这很快就行了! (4认同)
  • 它对我有用,它发生了几次,我总是重新设置用户数据而且很糟糕,我使用[漫游扩展管理器](http://blogs.msdn.com/b/visualstudio/archive/2015/07/ 31/roaming-extension-manager-control-and-consistency-down-to-last-extension.aspx)使重新安装扩展更加简单 (4认同)
  • 没有解决VS2015 Professional中的问题.Razor语法高亮和智能感知仍然不起作用.没有显示错误. (2认同)
  • 只是为了堆积,这也对我有用. (2认同)

Yan*_*nos 127

我通过重置用户数据解决了这个问题

devenv.exe /resetuserdata
Run Code Online (Sandbox Code Playgroud)

并删除项目中的".vs"文件夹.


警告:这将重置所有用户设置.从本质上讲,它就像重置为出厂默认值.您将丢失任何自定义键盘快捷键,已安装的扩展程序等.

  • 我不需要删除.vs文件夹来解决我的问题.resetuserdata就足够了 (14认同)
  • 对我来说`devenv.exe/resetuserdata`**没有修复**问题!仅供参考:我没有得到任何错误,但VS没有为Razor视图绘制语法. (10认同)
  • 如果您的计算机上安装了多个VS,请确保从此文件夹"C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDE \"中运行该文件夹. (9认同)
  • 在使用此命令之前,请先了解它的用途.除了诸如将您从Visual Studio中注销并重置Windows之类的轻微不便之外,它还卸载了几个扩展和Resharper.找到要重新安装的正确版本花费的时间比我预期的要长. (9认同)
  • 请注意,您将丢失所有Visual Studio设置,例如扩展名和凭据(您已登录的帐户)!在运行`devenv.exe/resetuserdata`之前必须先关闭VS. (7认同)
  • 您不需要重置所有内容只需从%LocalAppData%\ Microsoft\VisualStudio\14.0\ComponentModelCache中删除所有文件并重新启动VS,它就没事了. (4认同)
  • @Shimmy正如Sam和fabriciorisset所说,你的用户数据被删除所以它就像一个新的安装.您需要重新安装所有扩展,并重新连接VS中的所有服务. (2认同)

Bob*_*lth 11

FWIW,我在两台不同的机器上遇到了VS 2015 Enterprise的这个问题.在一台机器上,重置用户数据会使问题消失(暂时).在另一台机器上,我不得不完全卸载并重新安装VS,问题消失了一段时间.在这两台机器上,问题在我安装扩展程序后出现(一次安装Web Essentials,一次安装Git Diff Margin时).

我烧了一个MSDN技术支持案例,答案是......是的,这是一个错误,MS知道它,他们正在努力.

这不是一个特别可行的答案,但仍然是一个答案......

编辑:关于解决问题的主题,自从我发布这个"答案"以来,我已经多次遇到这个问题了.最近,我安装了NuGet Package Manager的更新,当VS重新启动时,它开始出现这个问题.我跑了devenv.exe /resetuserdata,但那没有用; 它还是坏了.所以我再次尝试(跑devenv.exe /resetuserdata)和bada bing bada繁荣,问题消失了(现在).道德似乎是"如果起初你没有成功......"的话.


Nuc*_*ucS 8

有可能发生二重奏 Resharper.
它将在未来版本中修复,但截至目前(版本10.0.2)它已被破坏.Resharper会覆盖Visual Studio的intellisense,因此无法正常工作.这也解释了为什么运行devenv.exe /ResetUserData修复它,因为它删除Resharper.

通过菜单手动将智能感应电源返回VS:
ReSharper>> Enviroment>> IntelliSense>>填写如下:
在此输入图像描述

这就是来自VS的intellisense应该如何看待:
在此输入图像描述


Wak*_*sei 6

我遇到了同样的问题,但原因与其他答案不同.

我怀疑在2015年9月更新了Visual Studio,并在Visual Studio 2015中卸载了Web Developer Tools组件.这导致Intellisense无法正常工作.

我再次在安装程序选项中安装了Web Developer Tools,并在安装后删除了ComponentModelCache.这对我有用.