Razor intellisense在VS 2015中无效

时间:2015-07-27 04:15:40

标签: razor intellisense visual-studio-2015

当我在2015年加载我的VS2013项目时,我所有的剃刀视图都充满了红色波浪形的下划线。

@ model,@ Scripts @url,@ Html.Partial,lambda表达式

Intellisense现在相当无用,因为它似乎缺少了一半的选项。

我见过的解决方案涉及删除.vs文件夹和devenv.exe / ResetUserData,但这些对我不起作用。

我正在使用与我的同事相同的安装文件重新安装VS 2015社区。他们都没有剃刀问题,他们正在和我一样在同一个项目上工作。

知道如何解决这个问题吗?

编辑...更多信息! 我卸载/重新安装了VS 2015社区,打开了我的项目,剃刀工作了! 然后我点击了一条通知说要更新NuGet。 NuGet更新安装,VS重新启动,剃须刀再次停止工作。所以NuGet的更新正在破坏razor ??

每次打开剃刀文件时都会显示"遇到异常。这可能是由扩展引起的。您可以通过检查文件' C:\ Users \ Jonathan \ AppData \ Roaming \ Microsoft \ VisualStudio \ 14.0 \ ActivityLog.xml'来获取更多信息。 "

在活动日志中,我收到以下错误

"System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Item has already been added. Key in dictionary: 'RazorSupportedRuntimeVersion' Key being added: 'RazorSupportedRuntimeVersion' at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) at System.Collections.Hashtable.Add(Object key, Object value) at System.Collections.Specialized.HybridDictionary.Add(Object key, Object value) at Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty(Object key, Object property) at 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 of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark) at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at System.Activator.CreateInstance(Type type, Object[] args) at Microsoft.Html.Editor.ContainedLanguage.Common.ContainedCodeErrorTaggerProvider`1.CreateTagger[T](ITextBuffer textBuffer) at Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.GatherTaggers(ITextBuffer textBuffer)"

我该如何解决这个问题?

13 个答案:

答案 0 :(得分:22)

您无需使用devenv.exe /ResetUserData重置Visual Studio的整个配置以解决此问题

而不是它,尝试在Visual Studio关闭时删除此目录的内容,然后重新打开它: %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

答案 1 :(得分:14)

这是最终为我工作的: 开始 - >运行 - > (或Windows Key + R) 然后输入" devenv.exe / resetuserdata" (当然没有引号)

我没有像其他人那样删除.vs文件。

另请参阅:Visual Studio 2015 Broken Razor Intellisense

答案 2 :(得分:5)

我升级到mvc5等等到razer 3.它解决了我的问题。

我按照说明操作:

http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2 1

答案 3 :(得分:5)

有同样的问题。 ResetUserData不起作用等.ResetUserData做了什么但重置了一些被抑制的对话框。最终会弹出一个对话框,说明“'CompatiblityCheckerPackage'没有正确加载。”它告诉我转到我的用户文件夹(下面的路径)并查看ActivityLog.xml。原来,WebEssentials 2015没有正确安装并且无法加载。我再次安装了WebEssentials,Intellisense错误消失了。

我的完整路径:

C:\用户\ XXX \应用程序数据\漫游\微软\ VisualStudio的\ 14.0 \ ActivityLog.xml

希望这有帮助。

答案 4 :(得分:3)

删除整个Solution并从Source Control重新下载它是唯一对我有用的东西。您可能需要首先在VS 2013中打开解决方案,然后才能在2015年打开它...一个非常错误的Visual Studio发布Microsoft!

修改: 另一件事是奇怪的,至少对我来说...删除红色曲折下划线文本然后重新输入它修复了问题!可能只是发生在我身上的随机事情。

答案 5 :(得分:3)

我有同样的问题,这些答案都没有奏效。我最终看到的是,我的Views web.config文件引用了MVC 4,我的主web.config引用了MVC 5.所以我可以编译好但智能感知不起作用。 VS2015不支持MVC 4。为什么我的web.config文件不同我不知道。当我在VS2012几个月前更新MVC时,它一定不能更新该配置文件。

答案 6 :(得分:3)

你没有更新任何东西 只需从此文件夹中删除组件缓存 C:\用户\ XXX \应用程序数据\本地\微软\ VisualStudio的\ 14.0 \ ComponentModelCache 而且ot工作正常。 试试吧

答案 7 :(得分:1)

这些解决方案都没有为我解决。有效的是确保我的网页版本是最新的。所以

<add key="webpages:Version" value="3.0.0.0" />

在web.config中,而不是版本2.0.0.0

然后使用相同的解决方案关闭并重新打开visual studio。

答案 8 :(得分:0)

我正在使用VS 2015专业版。面对同样的问题,尝试了上面提到的所有解决方案,没有任何效果。既不是“devenv.exe / ResetUserData”也不是“删除ComponentModelCache的内容”。

我设法解决问题的唯一方法是修改安装: 转到计划和功能 - &gt;查找Microsoft Visual Studio ... 2015 - &gt;点击更改 - &gt;选择修改 - &gt;检查“Microsoft Web开发人员工具” - &gt;单击“更新”

这对我有用。

答案 9 :(得分:0)

我已经阅读了很多解决方案,我已经失去了很多时间,当我确定无法解决 visual studio 2015 intellisense,尤里卡的问题时,有人提供了正确的解决方案: 精益与清除我在cmd中运行的2行代码(如管理员):

  1. C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE&gt; devenv / updateco nfiguration
  2. C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE&gt; devenv / clearcac he
  3. 重启视觉工作室可能会要求重新安装一个被破坏的工具。 嗯,你做但现在你的intellisense正在工作agane。 祝你好运,非常感谢Nadir

答案 10 :(得分:0)

做一件事,然后去:

工具&gt;扩展&amp;更新&gt;更新Visual Studio版本

这需要一些时间,但在那之后工作正常。

答案 11 :(得分:0)

我知道这个主题已经过时,但我刚刚解决了同样的问题,我的解决方案与此处列出的任何一个都无关。

问题是在我的项目属性中参数&#34; 输出路径&#34; (构建 - >输出)是一个与&#34; bin \&#34;不同的文件夹。将其更改为 bin \ 后,重新打开Studio并重建我的项目,一切顺利!

希望它可以帮到某人。

答案 12 :(得分:-3)

第一行

上添加断点 页面

。并在几秒钟之后将其删除......它将绝对有效 ......