Visual Studio 2013的智能感知在ASP.NET MVC5控制器中停止工作

132

我在我的Visual Studio 2013 ASP.NET MVC 5项目中遇到了一个奇怪的问题。突然间,MVC 5项目控制器类中的IntelliSense完全不起作用。

我的解决方案中还有其他类库项目,这些类库项目文件中的IntelliSense正在工作,但问题只存在于MVC项目中。通常这种问题可以通过重新启动Visual Studio来解决:我不仅重新启动了Visual Studio,还重新启动了电脑,但是IntelliSense问题根本没有得到解决。

是否有其他步骤可以让我的IntelliSense重新正常工作?

26个回答

209

关闭 Visual Studio。删除 <ProjectName>.v12.suo 文件。重新打开解决方案。


15
我发现删除suo文件可以解决很多问题。这就像是Visual Studio的重启功能一样。谢谢你提醒我。 - grahamesd
1
是的...这个方法立刻解决了我的问题。我的ProjectName.v12.suo文件大小为982 KB。我将其删除,关闭了解决方案,重新打开后,一个新的ProjectName.v12.suo文件被创建。Intellisense又回来了,但是这个新的.suo文件现在只有500 KB。真的很有趣。也许微软应该修复这个不好的行为?不知何故,它会导致VS失去Intellisense,而没有它真的很痛苦。 :) - Leniel Maccaferri
3
没对我起作用,我所做的是重置我的设置才成功了。 - DougCouto
嗯,我没有任何.suo文件,自从VS2012以来我也没有看到过,所以我认为它们被其他东西替代了。怎么回事? - Adrian McCarthy
正如一些人所说,这是许多问题的魔法棒。赞! - Ghasan غسان
显示剩余3条评论

68

重置我的设置或导入之前导出的工作设置,并且重新启动Visual Studio解决了问题:工具 > 导入和导出设置... > 重置所有设置

编辑:这种情况经常在VS Express中发生,偶尔在VS Professional中发生。我在Pro中注意到的一件事是,在意外关机后(当IT在半夜强制重新启动时),就会发生这种情况。因此,它可能与Visual Studio无法正确关闭有关。上述描述的技术每次都有效。


1
谢谢,今天我又遇到了Intellisense的问题,你的解决方案解决了这个问题。 - Emran Hussain
1
谢谢,这对我也起作用了。如果你读到底部,请在删除所有扩展程序之前尝试这个。 - Just another Steve
这是最好的选择。非常棒。 - Nelson Miranda
安装了 .NET 4.6 目标包后出现了问题。这解决了问题。 - mcNux
意外关机可能会破坏 *.sdf SQL Server Compact 数据库。针对此问题,有一个热修复程序:https://support.microsoft.com/en-us/kb/2960153 - GregC
显示剩余3条评论

35

工具 > 选项 > 文本编辑器 > C# > 常规

确保“自动列出成员”已被勾选


这对我起作用。在许多情况下,删除.suo文件之前可以解决问题,但这次没有用。 - Craig
这对我有用。Visual Studio 2013。IT将我们切换到了一个新的域,丢失了所有VS设置。 - boilers222

26

我找到了解决问题的方式。就是, 1. -> 从解决方案中删除 ASP.NET MVC 项目, 2. -> 然后再将 MVC 项目添加回解决方案。

通过这些步骤,我可以再次获得智能感知。但是,我并不满意这个解决方案,因为下一次当我双击解决方案文件打开解决方案时,我又发现智能感知又无法使用了。我想知道它出现这种行为的真正原因。

编辑:

最终,我发现是一个第三方 Visual Studio 扩展程序导致了这个问题。为了找出那个扩展程序,我移除了所有扩展程序,然后逐个添加扩展程序并在发现罪魁祸首的扩展程序时停止添加:)


1
已经处理了一个月,让我感到疯狂。从解决方案中删除并重新添加(虽然很麻烦)对我也起作用了。谢谢! - NorthFork
6
在我的情况下,出了问题是由于Xamarin扩展。但是我不想说Xamarin的坏话,因为他们的客户支持非常优秀。我一报告问题,他们很快就提供了修复版。此外,最新版本的Xamarin扩展似乎已经没有那个问题了。我的观点是,任何扩展的特定版本都可能导致这种问题,我们可能需要一个一个地卸载扩展以找出引起问题的扩展。例如,今天好的扩展的未来版本也可能会导致此类问题。在这种情况下,我们需要小心谨慎。 - Emran Hussain
2
卸载项目并重新加载对我也有效,谢谢! - Rob
1
在我的情况下,是Xamarin扩展引起了问题。卸载它后问题消失了。这还是最新版本! - Guy Lowe
1
我在使用Xamarin扩展时遇到了同样的问题,但奇怪的是只有一个特定的项目出现了这个问题。由于它是过期试用版,所以我只需卸载它,语法高亮就恢复了。 - GnomeCubed
显示剩余3条评论

8

您可以卸载解决方案中的项目并重新加载MVC项目。

  1. 在解决方案资源管理器中,右键单击MVC项目 -> "卸载项目"
  2. 在解决方案资源管理器中,右键单击MVC项目 -> "重新加载项目"

此后智能感知快速重新工作。


完全就是我在4月10日写的,不错! - Andreas

6

1
这对我有用。我不确定安装是否默认将它们取消选中,但是以下内容对我来说都是未选中的,而且这是一个全新的安装。 “自动列出成员” “参数信息”。我也没有在方法参数上获得智能感知。我唯一安装的插件是GhostDoc。 - gcoleman0828
@gcoleman0828 谢谢!这对我来说是正确的答案,使用VS2013。 - Rod Hartzell

5

我不确定为什么会发生这种情况,但当它发生时,我只需重新启动Visual Studio即可恢复Intellisense。

你说得对,这真的很烦人。


4
有时候重置VS设置可以解决问题:
工具->导入和导出设置向导->重置所有设置->勾选框“否,只重置设置,覆盖我的当前设置”->下一步->下一步->下一步
我曾经因为RESHARPER的原因把它们搞乱了,这个方法很有帮助。

2
好的,对我来说确实是这样的,抱歉。我把它们和RESHARPER的设置搞混了。 - d.popov
2
点赞。Resharper过去曾经对我的设置造成了混乱。 - Zac
这仅适用于从未定制过任何东西的人。 - t3chb0t

3

我发现解决IntelliSense问题的最佳方法是在“解决方案资源管理器”中卸载项目,然后重新加载项目。这样一来,IntelliSense总是能正常工作,我也不会失去书签、断点或其他任何设置。


1
这是最简单的方法。谢谢。 - Caesar

1
Tools->Options->Text Editor->C# (or All Languages)->General

在右侧面板中勾选复选框启用自动列表成员参数信息

如果未选择,请选择它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接