Visual Studio 2013 IntelliSense停止为ASP.NET MVC5控制器工作

时间:2014-01-31 03:27:00

标签: visual-studio-2013 intellisense asp.net-mvc-5

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

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

还有其他步骤可以让我恢复智能感知吗?

26 个答案:

答案 0 :(得分:209)

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

答案 1 :(得分:68)

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

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

答案 2 :(得分:36)

工具>选项>文本编辑器> C#>一般

确保"自动列出会员"已选中

答案 3 :(得分:27)

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

通过这些步骤,我可以再次获得智能感知。但是,我对这个解决方案不满意,因为,下次当我双击解决方案文件打开解决方案时,我看到intellisense再次无效。我想知道它之所以表现如此的真正原因。

修改

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

答案 4 :(得分:8)

您可以卸载项目并从解决方案

重新加载MVC项目
  1. 右键单击解决方案资源管理器中的MVC项目 - > “卸载项目”
  2. 右键单击解决方案资源管理器中的MVC项目 - > “重新加载项目”
  3. 此后,Intellesense迅速返工。

答案 5 :(得分:6)

  • 工具 - >选项
  • 文字编辑器 - > C# - >智能感知
  • 确保选中“在输入字符后显示完成列表”

VS2013 intellisense code completion

答案 6 :(得分:5)

我不确定它为什么会发生,但当它发生在我身上时,我可以通过简单地重启Visual Studio来恢复Intellisense。

你是对的,真的很烦人。

答案 7 :(得分:4)

有时,VS设置的RESET可以提供帮助:

TOOLS->导入和导出设置向导 - >重置所有设置 - >复选框"不,只需重置设置,覆盖我当前的设置" - >下一步>下一步>下一步

我用RESHARPER搞砸了他们,这有帮助。

答案 8 :(得分:3)

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

答案 9 :(得分:1)

我的文本编辑器中也存在与Intellisense相同的问题。

  

我只是close example.cs文件,它没有提供Intellisense   并重新打开该类而不重启Visual Studio它   适合我。

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

答案 10 :(得分:1)

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

选中右侧窗格中enable Auto List MembersParameter Information的复选框。

如果未选中,请选择它。

答案 11 :(得分:1)

......还有另一个答案 - 但这是我痛苦的原因:我安装了Developer Assistant,它已经很好地工作但突然停止提供建议。为了让它再次运作:

选项 - >开发者助理 - >智力感知 - >默认的Visual Studio Intellisense

花了我5个小时才发现:(

HTH。

答案 12 :(得分:1)

我使用VS 2013,我遇到了同样的问题。 我的解决方案是更新VS到最新版本。我的案例更新4。 项目中的简单引用必须与计算机(OS)上的GAC中的程序集匹配。 Intellisense来自VS而非来自项目。

我希望这对某些人来说很方便。

答案 13 :(得分:1)

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

答案 14 :(得分:1)

通常,当缓冲区出现错误时会发生这种情况。大多数情况下,当您关闭Windows窗体时,会清除本地缓存错误,并重新打开,因此将其重新加载到内存中。上面的许多解决方案都有效,但有时它就像关闭项目和设计师并重新打开项目一样简单。

此外,您可以尝试通过

强制重置

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

答案 15 :(得分:1)

就我而言,重启并没有成功。

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

  1. 关闭解决方案
  2. 打开另一个解决方案
  3. 已验证intellisense在此其他解决方案中有效。
  4. 关闭其他解决方案
  5. 最后,重新打开第一个解决方案。
  6. 智能感知再次发挥作用。

答案 16 :(得分:1)

我发现如果构建失败,那么Intellisense似乎会中断。修复构建错误并重建项目后,Intellisense将在重新加载特定的Razor文件后工作。

答案 17 :(得分:0)

我正在使用VS 2013和MVC 5.我的解决方案是将以下内容添加到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>

答案 18 :(得分:0)

Rushonerok的解决方案对我很有用。
对于任何不了解的人:&lt; ProjectName&gt; .v12.suo是项目根文件夹中的隐藏文件。您必须设置&#34;显示隐藏文件&#34;在您的文件浏览器中查看它。

答案 19 :(得分:0)

到目前为止,有些这些解决方案对我没用。

我有以下解决方法

只需在新变量中明确声明要使用的类型,然后使用该类型而不是Model

@model MyModel
MyModel mymodel = Model;

@mymodel.MyIntelisenseIsWorkingAgain

答案 20 :(得分:0)

为了解决这个问题,我关闭了Visual Studio Express 2013并重新打开了解决方案,但是直接从文件系统双击其.sln文件。从起始页面打开它,我的控制器智能感知被打破了。

答案 21 :(得分:0)

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

答案 22 :(得分:0)

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

答案 23 :(得分:0)

关闭并打开Visual Studio解决方案对我有用。

答案 24 :(得分:0)

有时你会错误地关闭它。尝试ctrl+space用于Windows,或cmd+space用于Mac以启用它。

答案 25 :(得分:0)

我知道我来晚了,但是将其添加到我的App.config文件中就可以了!

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