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

问题描述 投票:132回答:26

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

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

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

visual-studio-2013 intellisense asp.net-mvc-5
26个回答
209
投票

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


1
投票

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


1
投票

在我的情况下,重启不起作用。

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

  1. 关闭解决方案
  2. 打开另一个解决方案
  3. 验证intellisense在其他解决方案中工作。
  4. 关闭其他解决方案
  5. 最后,重新打开第一个解决方案。

并且intellisense再次工作。


1
投票

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

此外,您可以尝试强制重置

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


1
投票

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


1
投票

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

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

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


1
投票

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

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


1
投票

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

options - > developer assistant - > Intellisense - > Default Visual Studio Intellisense

花了我5个小时找到:(

HTH。


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

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

如果未选中,请选择它。


0
投票

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


0
投票

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


68
投票

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

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


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>

0
投票

Rushonerok的解决方案对我很有用。 对于任何不知道的人:<ProjectName> .v12.suo是项目根文件夹中的隐藏文件。您必须在文件浏览器中设置“显示隐藏文件”才能看到它。


0
投票

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

我有以下解决方法

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

@model MyModel
MyModel mymodel = Model;

@mymodel.MyIntelisenseIsWorkingAgain

0
投票

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


0
投票

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


0
投票

有时你会错误地关闭它。尝试使用ctrl+space for windows或cmd+space for mac打开它。


0
投票

我知道我有点晚了,但是把这个添加到我的App.config文件就行了!

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

36
投票

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

确保选中“Auto List Members”


27
投票

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

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

EDIT:

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


8
投票

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

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

在此之后,Intellesense迅速返工。


6
投票
  • 工具 - >选项
  • 文本编辑器 - > C# - > Intellisense
  • 确保选中“键入字符后显示完成列表”

VS2013 intellisense code completion


5
投票

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

你是对的,真的很烦人。


4
投票

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

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

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


3
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.