Visual Studio 2013 IntelliSense 停止为 ASP.NET MVC5 控制器工作
Posted
技术标签:
【中文标题】Visual Studio 2013 IntelliSense 停止为 ASP.NET MVC5 控制器工作【英文标题】:Visual Studio 2013 IntelliSense stops working for ASP.NET MVC5 Controllers 【发布时间】:2014-02-23 15:57:12 【问题描述】:我在我的 Visual Studio 2013 ASP.NET MVC 5 项目中遇到了一个奇怪的问题。突然之间,MVC 5 项目的 Controller 类中的 IntelliSense 根本不起作用。
我的解决方案中有其他类库项目,并且 IntelliSense 正在这些类库项目文件中工作,但问题仅在 MVC 项目中。通常这类问题都是通过重启Visual Studio来解决的:我不仅重启了Visual Studio,还重启了电脑,IntelliSense问题根本没有解决。
还有其他步骤可以让我恢复 IntelliSense 吗?
【问题讨论】:
【参考方案1】:我知道我来晚了,但将其添加到我的 App.config
文件中就可以了!
<system.web>
<compilation>
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
</system.web>
【讨论】:
【参考方案2】:有时您会错误地关闭它。尝试ctrl+space
for windows 或cmd+space
for mac 将其打开。
【讨论】:
【参考方案3】:关闭和打开 Visual Studio 解决方案对我有用。
【讨论】:
【参考方案4】: 工具 -> 选项 文本编辑器 -> C# -> 智能感知 确保选中“输入字符后显示完成列表”VS2013 intellisense code completion
【讨论】:
这对我有用。我不确定安装是否默认这些未选中,但我未选中以下内容,这是全新安装。 “自动列出成员”“参数信息”。我也没有得到方法参数的智能感知。我唯一的插件是 GhostDoc @gcoleman0828 谢谢!这对我来说是 VS2013 的正确答案。【参考方案5】:Tools->Options->Text Editor->C# (or All Languages)->General
选中右侧窗格中enable Auto List Members
和Parameter Information
的复选框。
如果未选中,请选择它。
【讨论】:
【参考方案6】:... 另一个答案 - 但这就是我痛苦的原因:我安装了 Developer Assistant,它一直运行良好,但突然停止提供建议。让它再次工作:
选项 -> 开发者助手 -> Intellisense -> 默认 Visual Studio Intellisense
我花了 5 个小时才找到 :(
HTH。
【讨论】:
【参考方案7】:重置我的设置或导入以前导出的工作设置,和重新启动 Visual Studio 工作:Tools > Import and Export Settings... > Reset all settings
。
编辑:这一直发生在我身上,令人惊讶的是经常出现在 VS Express 中,偶尔出现在 VS Professional 中。我在 Pro 中注意到的一件事是,它发生在意外关闭之后(当 IT 部门在半夜强制重启时)。所以它可能与 Visual Studio 没有正确关闭有关。上述技术每次都奏效。
【讨论】:
谢谢,今天我又遇到了 Intellisense 问题,您的解决方案解决了问题。 谢谢,这对我也有用。如果您阅读到底部,请在删除所有扩展程序之前尝试此操作。 :D 实际上,我首先删除了所有扩展。无论如何,它奏效了! 这也解决了我的问题 这是最好的选择。很棒。【参考方案8】:有时重置 VS 设置会有所帮助:
工具->导入和导出设置向导->重置所有设置->复选框“不,只是重置设置,覆盖我当前的设置”->下一步>下一步>下一步
我用 RESHARPER 搞砸了他们,这很有帮助。
【讨论】:
好吧,对我来说就是这样,对不起。我把 RESHARPER 的设置弄乱了。 赞成。 Resharper 过去曾对我的设置造成严重破坏。 这仅适用于没有定制任何东西的人。【参考方案9】:您可以从解决方案中卸载项目并重新加载 MVC 项目
-
在解决方案资源管理器中右键单击 MVC 项目 -> “卸载项目”
在解决方案资源管理器中右键单击 MVC 项目 -> “重新加载项目”
此后 Intellesense 快速返工。
【讨论】:
非常好,我在 4 月 10 日写的,太好了! ***.com/a/29556005/1879699【参考方案10】:我使用 VS 2013 并且遇到了同样的问题。 我的解决方案是将 VS 更新到最新版本。我的情况是更新 4。 项目中的简单引用必须与计算机 (OS) 上的 GAC 中的程序集相匹配。 Intellisense 来自 VS 而不是来自项目。
我希望这对某些人有用。
【讨论】:
【参考方案11】:我发现修复 IntelliSense 问题的最佳方法是在解决方案资源管理器中简单地卸载项目并再次加载项目。之后,IntelliSense 一直为我工作,我不会丢失书签、断点或任何其他设置。
【讨论】:
这是最简单的方法。 T.Y.【参考方案12】:为了解决这个问题,我关闭了 Visual Studio Express 2013 并重新打开了解决方案,但直接从文件系统双击其 .sln
文件。从起始页打开它让我的控制器智能感知中断。
【讨论】:
【参考方案13】:到目前为止,其中一些解决方案对我不起作用。
我有以下解决方法
只需在新变量中显式声明要使用的类型,然后使用它来代替Model
。
@model MyModel
MyModel mymodel = Model;
@mymodel.MyIntelisenseIsWorkingAgain
【讨论】:
【参考方案14】:Rushonerok 的解决方案非常适合我。
对于不知道的人:
【讨论】:
【参考方案15】:我的文本编辑器中的 Intellisense 也有同样的问题。
我只是
close
example.cs 文件,它没有提供 Intellisense 并在不重新启动的情况下重新打开该课程Visual Studio
it 对我有用。
注意:我对解决方案资源管理器中的所有 .CS 文件都没有相同的问题
【讨论】:
【参考方案16】:工具 > 选项 > 文本编辑器 > C# > 常规
确保选中“自动列出成员”
【讨论】:
这对我有用。删除 .suo 文件之前曾多次成功,但这次没有成功。 这对我有用。 Visual Studio 2013。IT 将我们切换到一个新域并丢失了所有 VS 设置。【参考方案17】:我尝试了很多没有用的东西。最后,我将代码剪切到剪贴板,重新创建控制器并粘贴代码。问题解决了!
【讨论】:
【参考方案18】:我正在使用带有 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>
【讨论】:
【参考方案19】:这通常发生在缓冲区有错误时。大多数情况下,当您关闭 Windows 窗体并重新打开时,本地缓存错误会被清除,因此会将其重新加载到内存中。上面的许多解决方案都有效,但有时就像关闭项目和设计器并重新打开项目一样简单。
此外,您可以尝试通过以下方式强制重置
Ctrl+K, Ctrl+I 显示快速信息 Ctrl+Shift+Space 显示参数信息
【讨论】:
【参考方案20】:就我而言,重启不起作用。
所以我做了以下奇怪的步骤:
-
关闭解决方案
打开了另一个解决方案
已验证智能感知在此其他解决方案中是否有效。
关闭其他解决方案
最后,重新打开第一个解决方案。
智能感知再次起作用。
【讨论】:
这不起作用,但这是一个很好的故障排除步骤,可以查看是项目还是 Visual Studio 本身导致了问题。【参考方案21】:我发现如果构建失败,那么 Intellisense 似乎会中断。修复我的构建错误并重建项目后,Intellisense 将在重新加载特定的 Razor 文件后工作。
【讨论】:
【参考方案22】:每次我处理一个特定的 MVC5 项目时,都会得到完全相同的结果。 重新启动 VS2013 不起作用。 删除 suo 文件不起作用。 重置所有工具设置不起作用。 唯一可行的方法是从解决方案中删除项目并再次添加它。 看到我每天都必须这样做真的很烦人。 特别是当我将它设置为重新打开我打开的最后一个文件时,我需要追踪我正在处理的文件并重新打开它们而不是自动弹出......
【讨论】:
【参考方案23】:关闭 Visual Studio。删除 .v12.suo 文件。重新打开解决方案。
【讨论】:
感谢您的信息。如果我的 Visual Studio intellisense 再次停止工作,我会尝试这个技巧。 我发现删除 suo 文件可以解决很多问题。这就像 Visual Studio 中的重启一样。谢谢你提醒我。 是的...现在为我解决了这个问题。我的ProjectName.v12.suo
大小为 982 KB。删除了它。关闭解决方案。重新打开解决方案并创建了一个新的ProjectName.v12.suo
。 Intellisense 又回来了,但这个新的.suo
文件现在只有 500 KB。非常有意思。也许微软应该修复这种不良行为?不知何故,它导致 VS 失去了 Intellisense,没有它工作真的很痛苦。 :)
对我不起作用。对我有用的是重置我的设置。
这修复了 IntelliSense 问题,但同时您也会丢失所有断点、书签等。【参考方案24】:
保存所有内容并重新启动 Visual Studio!
【讨论】:
【参考方案25】:我找到了一种解决问题的方法。那是, 1. -> 从解决方案中删除 ASP.NET MVC 项目, 2. -> 然后,将 MVC 项目添加回解决方案。
通过执行这些步骤,我可以再次获得 Intellisense。但是,我对这个解决方案并不满意,因为下次我双击解决方案文件打开解决方案时,我发现智能感知不再工作。我想知道它表现得那样的真正原因。
编辑:
最后,我发现是第 3 方 Visual Studio 扩展导致了问题。为了找出那个扩展程序,我删除了所有扩展程序,然后一个一个地添加了扩展程序,然后在我发现让我睡不着觉的罪魁祸首扩展程序的地方停下来:)。
【讨论】:
处理这个问题已经一个月了,这让我发疯了。从解决方案中删除和阅读(虽然很痛苦)也对我有用。谢谢! 就我而言,它是 Xamarin 扩展,但我不想对 Xamarin 说坏话,因为他们的客户支持非常出色。我一报告问题,他们就迅速为我提供了修复版本。此外,最新版本的 Xamarin 扩展似乎不再有这个问题。我的观点是,任何扩展的特定版本都可能导致此类问题,我们可能需要逐个卸载扩展以找出导致问题的原因。例如,今天的好扩展的未来版本也可能导致此类问题。在这种情况下我们需要小心。 卸载项目并重新加载它也对我有用,谢谢! 就我而言,它是 Xamarin 扩展。卸载它,问题就消失了。这也是最新版本! 我对 Xamarin 扩展有同样的问题,但由于某种原因,只有一个特定的项目。这是一个过期的试用版,所以我刚刚卸载它,语法高亮又回来了。【参考方案26】:我不确定它为什么会发生,但是当它发生在我身上时,我只需重新启动 Visual Studio 即可恢复 Intellisense。
你说得对,这真的很烦人。
【讨论】:
以上是关于Visual Studio 2013 IntelliSense 停止为 ASP.NET MVC5 控制器工作的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建
如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013
Visual Studio 2013 Tools for Unity安装目录,Visual Studio 2013 Tools.unitypackage
使用Visual Studio2013打开Visual Studio2015项目
从 Visual Studio 2013 转换到 Visual Studio 2015 的问题
Intel parallel studio 2017 集成在visual studio 2013 中,现在如何集成到visual studio 2015