Visual Studio 2015破碎的剃刀智能感知

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

System.ArgumentException:Item已被添加。 键入字典:“RazorSupportedRuntimeVersion”

这是完整版本:

System.Reflection.TargetInvocationException:exception已被调用的目标引发。 —> System.ArgumentException:Item已被添加。 键入字典:在System.Collections.Hashtable.Add(Object key,Object value)System.Collections.Hashtable.Insert(Object key,Object nvalue,Boolean add)处添加'RazorSupportedRuntimeVersion'键:'RazorSupportedRuntimeVersion'。在Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty(Object key,Object属性)上Microsoft.VisualStudio.Html.Package.Razor.RazorVersionDetector.Microsoft.Html.Editor的Collections.Specialized.HybridDictionary.Add(Object key,Object value)。 ContainedLanguage.Razor.Def.IRazorVersionDetector.GetVersion(ITextBuffer textBuffer)在Microsoft.Html.Editor.ContainedLanguage.Razor.RazorErrorTagger..ctor(Microsoft.Html.Editor.ContainedLanguage.Razor.RazorUtility.TryGetRazorVersion(ITextBuffer textBuffer,Version&razorVersion) ITextBuffer textBuffer)—内部exception堆栈跟踪—在System.RuntimeMethodHandle.InvokeMethod(对象目标,对象[]参数,签名sig,布尔构造函数)在System.Reflection.RuntimeCo System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,Binder binder,Object [] args,CultureInfo culture,Object [] activationAttributes,StackCrawlMark&stackMark)上的nstructorInfo.Invoke(BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo culture)在Microsoft.Html.Editor.ContainedLanguage上的System.Activator.CreateInstance(Type type,Object [] args)上的Activator.CreateInstance(Type type,BindingFlags bindingAttr,Binder binder,Object [] args,CultureInfo culture,Object [] activationAttributes) Common.ContainedCodeErrorTaggerProvider1.1.CreateTagger [T](ITextBuffer textBuffer)在Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator'1.GatherTaggers(ITextBuffer textBuffer)

如果有任何帮助,我有一些字体颜色自定义,并安装了Web Essentials,Bundler&Minifier和Web编译器扩展。

更新 :无论是当我打开一个现有的Web应用程序,或从头开始创build一个全新的。 还有一个VS2013的实例安装在同一台机器上运行。

根本没有智能感

正如你从上面的照片可以看到,我根本没有任何intellisense,也没有任何一种代码着色。

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

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

devenv.exe /resetuserdata 

并删除我的项目中的“.vs”文件夹。


警告:这将重置您的所有用户设置。 本质上,这就像重置为出厂默认设置。 你将失去任何自定义的键盘快捷键,你已经安装的扩展等

这一直是我也反复,似乎是连接到扩展更新,但我还没有能够指责任何具体的东西。 我所能发现的是一个不那么干扰的决议。

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

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

编辑:我刚刚遇到这可能也很方便 – 清除MEF组件caching (打开VSIX库)

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

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

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

编辑:关于解决这个问题的主题,自从我发布这个“答案”以来,我再次遇到了这个问题。 最近,我安装了一个更新到NuGet包pipe理器,当VS重新启动它开始有这个问题。 我跑了devenv.exe /resetuserdata ,但没有帮助; 它仍然被打破。 于是我又试了一次(运行devenv.exe /resetuserdata ),然后问题就消失了(现在)。 道德似乎是“如果你一开始不成功……”的话。

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

通过菜单手动将智能感应function返回到VS:
ReSharper >> Enviroment >> IntelliSense >>填写以下内容:
在这里输入图像描述

这就是VS的智能应该看起来如何:
在这里输入图像描述

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

Visual Studio的更新,我怀疑2015年9月的TypeScript更新,卸载了Visual Studio 2015的Web开发人员工具组件。这会导致Intellisense不起作用。

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

这就马上为我解决了。

在Visual Studio中:

点击工具 – >选项 – >文本编辑器 – >所有语言 – >常规取消选中“自动列表成员”取消选中“参数信息”勾选“自动列表成员”(是的,你刚刚取消选中)检查“参数信息”你刚刚取消选中的那个)点击OK

增加我的2美分。 以前的解决scheme没有为我工作,然后我发现这个链接:

http://www.c-sharpcorner.com/blogs/how-to-resolve-intellisense-issue-in-visual-studio1

特别是这一个

解决scheme4:

接下来,从以下位置重置设置。

工具 – >导入和导出设置 – >重置所有设置。

从那里我selectVisual C#

/ResetUserData解决scheme是你最好的select,但我也认为我已经find了这个可能的原因…

我目前使用Umbraco在BackOffice中创buildmacros部分。 当这些文件被创build时,我点击Hide / Show all filesbutton,在我的解决scheme中显示Macro Partial,Razor Syntax Highlighting似乎停止工作,所以我的猜测是新的文件引入你的解决scheme,不是直接通过VS导致这个问题。

即使将文件添加到解决scheme中,语法高亮也不起作用。

有时,VS Ide完全不显示Intellisense。 我只是closures解决scheme。 closuresVS. 然后重新打开,问题就解决了。

还有另一种解决scheme,不用重置所有的用户数据

(但只有窗口布局/工具栏):

closures所有的VS2015实例, [最终备份和]删除文件夹:

 "[User Directory]\AppData\Roaming\Microsoft\Visual Studio\14.0" 

现在,重新打开VS2015:布局被重置为出厂预设,但剃刀语法将工作

仅供参考:我的VS 2015 PRO安装已完全安装所有第三方。

我在文章中尝试了所有可能的解决scheme,但并没有帮助我。 克雷格Goldensoph写了什么帮助我部分为我find解决办法。

所以首先我做了:取消所有checkbox的文本编辑器 – >所有语言 – >常规语句完成: 在这里输入图像描述

点击确定后 – 重新打开选项对话框:并检查所有相同的部分: 在这里输入图像描述

并再次应用设置。 你必须重新启动你的Visual Studio。 重新启动后需要一段时间才能加载,但之后它为我工作。

如果其他选项都不起作用,则有一个解决方法。 进入'。'后 操作员按下“Ctrl +空格”键,这将强制显示“智能感知”对话框。

使用.cshtml MVCrazor文件时遇到此问题。

这听起来很有趣,但只是做一件事。

把断点放在任何一行,然后等待5秒钟不行,然后去第一行,并把断点放在那里,当你放置断点时,它会要求断点设置。 在这里输入图像描述 点击该设置并closures该设置。 完成。 你intellisense现在正在工作。

我有VS 2015社区版。以前有VS 2015企业和它发生了,但在获得社区后,我发现同样的情况发生,同样的解决scheme工作。

我在工作中意外地发现了这个解决scheme。当项目没有运行的时候也这样做,你也可以删除那个断点。

你不需要重置所有的东西,只需从%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache删除所有的文件,然后重新启动VS就行了。

我已经在另一个SO问题上发布了这个答案,只是因为我想阻止人们浪费我浪费的时间。 我的问题是,我已经添加文件到一个项目,但没有包括他们。 所以我select显示所有文件:

在这里输入图像描述

然后select包含文件夹:

在这里输入图像描述

这个问题只会在您将MVC网站作为一个项目打开时显示出来,而不是直接打开为一个网站。

我只能通过更新网页版本来解决这个问题,我在另一个类似的问题中提到过:

剃刀智能感应不在VS 2015工作

我的内衣是轻微的疼痛,但似乎工作。 在我的情况下,这是一个.aspx文件,不会再intellisense了(我愚蠢地改变.aspx文件名…教训!)

  1. 我把所有的代码都从文件(.aspx&.cs)中复制到记事本中。
  2. 删除.aspx文件(反过来删除所有的子文件)。
  3. 保存了我的项目。 创build一个具有相同名称的新的.aspx文件。
  4. 复制/粘贴我的代码从记事本。
  5. 保存了。
  6. 再次尝试intellisense。 有效!

围绕方式,但不是像卸载/ vs重新安装这是完全过度的。 大家好运! 希望这些年MS会得到这个固定的一个!