VisualStudio2015破碎剃刀智能感知

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

异常: 项已被添加。请输入 字典: ‘ RazorSupportedRuntimeVersion’

以下是完整版本:

已引发异常 --> < strong > System.ArgumentException: Item 已被添加。关键字: ‘ RazorSupportedRuntimeVersion’ 添加关键字: “ RazorSupportedRuntimeVersion” 系统。集合。哈希表。插入(对象键,对象 nvalue,布尔值 在 System.Collections.Hashtable.Add (对象键,对象值) 系统。集合。专门化。混合字典。添加(对象键,对象 价值) Microsoft.VisualStudio.Utilites.PropertyCollection. AddProperty (对象 键,对象属性) 微软。 VisualStudio。 HTML。包。剃刀。 RazorVersionDetector。微软。 HTML。编辑器。包含语言。剃刀。 Def.IRazorVersionDetector。 GetVersion (ITextBuffer TextBuffer) 编辑器。包含语言。剃刀。剃刀实用程序 (textBuffer,Version & razorVersion) 编辑器。包含语言。 Razor.RazorErrorTagger. . ctor (ITextBuffer TextBuffer)——-内部异常堆栈跟踪的结束——-at System.RuntimeMethodHandle.InvokeMethod (Object target,Object [] 参数,签名签名,布尔构造函数) 系统。反射。运行时构造信息。调用(绑定标志 InvekAttr、 Binder Binder、 Object []参数、 CultureInfo 区域性) 在 System.RuntimeType.CreateInstanceImpl (BindingFlagsbindingAttr, 活页夹,Object [] args,CultureInfo 区域性,Object [] ActivationAttritribute,StackCrawlMark & stackMark) System.Activator.CreateInstance (类型类型,BindingFlagsbindingAttr, 活页夹,Object [] args,CultureInfo 区域性,Object [] 在 System.Activator.CreateInstance (类型类型, 对象[] args)在 Microsoft.Html. Editor. ContainedLanguage. Common. ContainedCodeErrorTaggerProvider’1. CreateTagger [ T ](ITextBuffer TextBuffer) 微软。 VisualStudio。文本。标记。实现。标记聚合器’1。收集标记(ITextBuffer TextBuffer)

如果有帮助的话,我有一些字体着色自定义,并安装了 Web 基本功能、 Bundler & Minifier 和 Web 编译器扩展。

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

No intellisense at all

正如你可以从上面的图片中看到的,我没有得到任何智能感知,也没有任何类型的代码着色。

知道怎么修吗? 先谢谢你。

51498 次浏览

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

devenv.exe /resetuserdata

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


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

/ResetUserData解决方案是你最好的选择,但我也认为我已经找到了一个可能的原因..。

我目前正在使用 Umbraco 在后台创建宏部分。当这些文件被创建时,我点击“隐藏/显示所有文件”按钮来显示我的解决方案中的宏部分,然后剃刀语法突显似乎停止工作了,所以我猜测是因为没有直接通过 VS 创建的新文件导致了这个问题。

即使将文件添加到解决方案中,语法突显也不起作用。

这对我来说也是反复出现的,似乎与扩展更新有关,但我还不能责怪任何具体的东西。我所能发现的是一种侵入性较小的解决方案。

在我的例子中,删除这个目录的内容允许 IDE 恢复:

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

编辑: 我只是偶然发现这一个也可能是方便的-清除 MEF 组件缓存(开放 VSIX 画廊)

FWIW,我在两台不同的机器上使用 VS2015企业版时遇到了这个问题。在一台机器上,重置用户数据使问题消失(一段时间)。在另一台机器上,我不得不完全卸载并重新安装 VS,这个问题消失了一段时间。在这两台机器上,问题都是在我安装了一个扩展之后出现的(一次是在安装 Web 基本要素时,一次是在安装 Git Diff Margin 时)。

我烧了一个 MSDN 技术支持的案子,答案是... 是的,这是个漏洞 MS 知道了,他们正在处理。

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

编辑: 关于解决这个问题的主题,自从我发布了这个“答案”以来,我已经遇到这个问题好几次了。最近,我安装了一个更新到 NuGet 包管理器,当 VS 重新启动时,它开始出现这个问题。我运行了 devenv.exe /resetuserdata,但是没有用,它还是坏了。所以我又试了一次(运行 devenv.exe /resetuserdata) ,然后,吧嗒吧嗒吧嗒,问题就消失了(暂时)。这句话的寓意似乎是“如果一开始你没有成功... ...”

这马上就帮我修好了。

在 Visual Studio 中:

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

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

VisualStudio 的更新(我怀疑是2015年9月的 TypeScript 更新)卸载了 VisualStudio2015的 WebDeveloperTools 组件。导致智能感知无法工作。

我再次在安装程序选项中安装了 Web 开发工具,并在安装后删除了 Component entModelCache。

有时,VSIDE 根本不显示智能感知。

我只要关闭解决方案,关闭 VS,然后重新打开它,问题就解决了。

还有另一种解决方案,无需重置所有用户数据

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

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

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

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

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

我尝试了所有可能的解决方案,在这里的文章,它没有帮助我。克雷格 · 戈登索夫写的东西部分地帮助我找到了解决问题的方法。

因此,首先我做了: 取消选中文本编辑器的所有复选框-> 所有语言-> 一般语句完成: enter image description here

点击确定后-重新打开选项对话框: 并检查所有相同的部分: enter image description here

再次应用设置。 你必须重新启动你的视觉工作室。重新启动后,它将需要一段时间来加载,但在此之后,它为我工作。

我的屁股有点疼,但似乎有用。对我来说。不再执行智能感知的 aspx 文件(在我愚蠢地更改了。Aspx 文件名... 吸取教训!)

  1. 例如,我将我所有的代码从文件(. aspx & . cs)中复制到记事本中。
  2. 删除了.aspx 文件(这个文件又删除了所有的子文件)。
  3. 保存了我的项目。创建了一个新的. aspx 文件。
  4. 从记事本上复制/粘贴我的代码。
  5. 省省吧。
  6. 再试一次智慧感应,成功了!

绕了一圈,但没有卸载/重新安装那么糟糕,后者完全是浪费时间。 祝大家好运! 希望多发性硬化症将得到这些年的固定之一!

可能是因为 ReSharper。

它将在未来的版本中修复,但到目前为止(版本10.0.2) ,它已经坏了。ReSharper 覆盖了 Visual Studio 的 IntelliSense,因此它不会工作,这也解释了为什么运行 devenv.exe /ResetUserData会修复它,因为它删除了 ReSharper。

通过菜单手动返回智能感知功能到 VS:
ReSharper > > Enviroment > > IntelliSense > > 填写以下内容:
enter image description here

VS 的智能感知应该是这样的:
enter image description here

加上我的两分钱。 以前的解决方案对我都不管用,然后我发现了这个链接:

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

尤其是这个

解决方案4:

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

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

从那里我选择 可视化 C #

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

将断点放在任何行上,然后等待5秒钟,然后不工作 到第一行,把断点放在那里,当你把断点放在那里的时候,它会询问断点的设置。 enter image description here 单击该设置并关闭该设置。 好了,你的智慧感知现在起作用了。

我有 VS 2015社区版。之前有 VS2015企业和它发生在那,但在得到社区我发现同样的事情发生,同样的解决方案工作的两个。

我在工作中偶然发现了这个解决方案。当 project 不运行时也这样做,你也可以移除那个断点。

您不需要重置一切,只需从 %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache中删除所有文件并重新启动 VS,就可以了。

我把这个答案贴在另一个 SO 问题上,只是为了防止人们浪费我刚刚浪费的时间。我的问题是,我向一个项目添加了文件,但没有包含它们。所以我选择显示所有文件:

enter image description here

然后选择包含文件夹:

enter image description here

这个问题只有当你打开一个 MVC 网站作为一个项目,而不是当你打开它作为一个网站直接。

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

在 VS 2015中无法使用剃刀智能感知

如果其他选项都不起作用,还有一个解决办法。在进入’操作符,按下“ Ctrl + Space”键,该键将强制显示 IntelliSense 对话框。

我在使用.cshtml MVC 剃须刀文件时遇到了这个问题。