VisualStudio2013IntelliSense 停止为 ASP.NET MVC5控制器工作

我在 Visual Studio 2013 ASP.NET MVC 5项目中遇到了一个奇怪的问题。突然之间,MVC5项目的 Controller 类中的 IntelliSense 根本无法工作。

在我的解决方案中还有其他类库项目,而 IntelliSense 正在这些类库项目文件中工作,但问题只出现在 MVC 项目中。通常这类问题可以通过重新启动 VisualStudio 来解决: 不仅重新启动了 VisualStudio,而且还重新启动了计算机,而 IntelliSense 问题根本没有得到解决。

还有什么其他方法可以让我恢复智能感知吗?

99770 次浏览

我已经找到了解决这个问题的方法,那就是, 1.-> 从解决方案中删除 ASP.NET MVC 项目, 然后,将 MVC 项目添加回解决方案。

通过这些步骤,我可以再次获得智能感知。但是,我对这个解决方案并不满意,因为下次当我双击解决方案文件打开解决方案时,我看到智能感知不再起作用了。我想知道为什么它会有那样的行为的真正原因。

编辑:

最后,我发现是第三方视觉工作室的扩展引起了这个问题。为了找到那个扩展,我删除了所有的扩展,然后一个接一个地添加了扩展,停在了我发现那个让我睡不着觉的罪魁祸首的地方:)。

我不确定它为什么会发生,但是当它发生在我身上时,我可以通过重新启动 VisualStudio 来恢复智能感知。

你说得对,确实很烦人。

重置我的设置或导入以前导出的,工作设置,还有重新启动 VisualStudio 工作: Tools > Import and Export Settings... > Reset all settings

编辑: 这种情况不断发生在我身上,令人惊讶的是经常在 VS 快车,有时在 VS 专业。我在 Pro 中注意到的一件事是,它发生在意想不到的关闭之后(当 IT 部门在半夜强制重启时)。所以它可能与 VisualStudio 没有正确关闭有关。上面描述的技术每次都有效。

保存所有内容并重新启动 VisualStudio!

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

我每次做一个 MVC5项目都会得到同样的结果。 重新启动 VS2013不起作用。 删除 suo 文件不起作用。 重置所有工具设置不起作用。 唯一有效的方法是从解决方案中删除项目并再次添加它。 看到我每天都要这么做真的很烦人。 特别是当我把它设置为重新打开我打开的最后一个文件时,我需要追踪我正在处理的文件并重新打开它们,而不是自动弹出。.

我发现,如果构建失败,那么智能感知似乎就会崩溃。在修复我的构建错误并重新构建项目之后,Intellisense 将在重新加载特定的 Razor 文件之后工作。

对我来说,重启不起作用。

所以我做了下面这些奇怪的步骤:

  1. 关闭解决方案
  2. 打开了另一个解决方案
  3. 验证了智能感知在另一个解决方案中起作用。
  4. 关闭了另一个解决方案
  5. 最后,重新打开了第一个解决方案。

智慧感应又起作用了。

通常当缓冲区中有错误时会发生这种情况。大多数情况下,本地缓存错误会在您关闭窗体(例如窗体)并重新打开它时被清除,从而将其重新加载到内存中。上面的许多解决方案都是有效的,但是有时候只需要关闭项和设计器,然后重新打开项就可以了。

此外,您可以尝试通过以下方法强制重置

Ctrl + K,Ctrl + I 显示快速信息 Ctrl + Shift + 空格显示参数信息

我在 MVC 5中使用 VS 2013,我的解决方案是在 Web.config 中添加以下内容:

<compilation debug="true" targetFramework="4.5.1">
<assemblies>
<add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
  • 工具-> 选项
  • 文本编辑器-> C #-> 智能感知
  • 确保选中“键入字符后显示完成列表”

VS2013智能感知代码完成

我尝试了很多不起作用的方法。最后,我将代码剪切到剪贴板中,重新创建控制器并将代码粘贴到。问题解决了!

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

确保选中“自动列表成员”

我的文本编辑器中的智能感知也有同样的问题。

我只是 close example.cs 文件,它没有提供智能感知 并重新打开该类而不重新启动 Visual Studio 我没问题。

注意: 解决方案资源管理器中的所有.CS 文件都没有同样的问题

有时 VS 设置的重置会有所帮助:

工具-> 导入和导出设置向导-> 重置所有设置-> 复选框“不,只是重置设置,覆盖我当前的设置”-> 下一步 > 下一步 > 下一步

我用 RESHARPER 把他们搞得一团糟,这个很有帮助。

Rushonerok 的方法对我很有效。
对于那些不知道的人: < ProjectName > 。Suo 是项目根文件夹中的一个隐藏文件。您必须在文件浏览器中设置“显示隐藏文件”才能看到它。

到目前为止,有些解决方案对我来说并不奏效。

我有以下的解决办法

只需声明要在新变量中显式使用的类型,并使用该类型而不是 Model

@model MyModel
MyModel mymodel = Model;


@mymodel.MyIntelisenseIsWorkingAgain

为了解决这个问题,我关闭了 VisualStudioExpress2013,并重新打开了解决方案,但双击它的 .sln文件直接从文件系统。从起始页打开它导致我的控制器智能感知中断。

我发现修复 IntelliSense 问题的最佳方法是简单地在解决方案资源管理器中卸载项目,然后再次加载项目。之后,智能感知总是为我工作,我不会丢失书签,断点或任何其他设置。

我使用 VS2013,我也有同样的问题。 我的解决方案是更新 VS 到上一个版本。 工程中的简单参考必须与计算机(OS)上的 GAC 中的汇编相匹配。智能感应来自 VS 而非工程。

我希望这对某些人有用。

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

  1. 右击解决方案资源管理器中的 MVC 项目-> “卸载项目”
  2. 在解决方案资源管理器中右击 MVC 项目-> “重新加载项目”

在这之后,《智慧》很快就重写了。

... 还有一个答案——但这是我痛苦的原因: 我安装了 开发助理,它一直运行良好,但突然停止提供建议。让它重新工作:

选项-> 开发助手-> 智能感知-> 默认的 Visual Studio 智能感知

我花了5个小时才发现:

高温。

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

选中右侧面板中 enable Auto List MembersParameter Information的复选框。

如果未选中,请选中它。

关闭和打开 VisualStudio 解决方案对我来说很有用。

有时你关闭它错误。尝试 ctrl+space的窗口或 cmd+space的 Mac 打开它。

我知道我有点迟到了,但是把这个添加到我的 App.config文件中确实起到了作用!

<system.web>
<compilation>
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
</system.web>