可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am facing a weird problem in my Visual Studio 2013 ASP.NET MVC 5 project. All of a sudden, the IntelliSense in the Controller classes of the MVC 5 project are not working at all.
I have other class library projects in my solution and IntelliSense is working in those class library project files, but the problem is only within the MVC project. Usually these kinds of problems are solved by restarting Visual Studio: not only did I restart Visual Studio, but I also restarted my computer, and the IntelliSense problem is not getting fixed at all.
Are there any other steps that can get me IntelliSense back?
回答1:
Close Visual Studio. Delete the <ProjectName>.v12.suo file. Reopen solution.
回答2:
Resetting my settings or importing previously exported, working settings, and restarting Visual Studio worked: Tools > Import and Export Settings... > Reset all settings
.
EDIT: This keeps happening to me, surprisingly often in VS Express, and occasionally in VS Professional. One thing I noticed in Pro, is that it has happened after unexpected shut downs (when IT forces a reboot in the middle of the night). So it may be related to Visual Studio not closing correctly. The technique described above has worked every time.
回答3:
Tools > Options > Text Editor > C# > General
Make sure that "Auto List Members" is checked
回答4:
I have found one way to solve the problem. That is,
1. -> Remove the ASP.NET MVC Project from Solution,
2. -> Then, add the MVC Project back to the Solution.
By doing these steps, I can get the Intellisense again. But, I am not happy with this solution though, because, next time when I double click the Solution file to open the solution, I see the intellisense is not working again. I would like to know the real reason why it is behaving like that.
EDIT:
Finally, I figured out that it was a 3rd party visual studio extension which was causing the problem. In order to find out that extension, I removed all extensions and then, added the extensions one by one and stopped where I found the culprit extension that was taking my sleep away :).
回答5:
You can unload project and reload the MVC project from solution
- Right Click on MVC project in solution explorer -> "Unload Project"
- Right Click on MVC project in solution explorer -> "Reload Project"
After this the Intellesense rework quickly.
回答6:
- Tools -> Options
- Text Editor -> C# -> Intellisense
- Ensure "Show completion list after a character is typed" is checked
VS2013 intellisense code completion
回答7:
I'm not sure why it occurs, but when it happens to me I can recover Intellisense by simply restarting Visual Studio.
You're right, it's really annoying.
回答8:
Sometimes RESET of VS settings can help:
TOOLS->Import and Export Settings Wizard->Reset all settings->checkbox "No, just reset settings, overwriting my current settings"->Next>Next>Next
I had messed them with RESHARPER, and this helped.
回答9:
I found that the best way to fix IntelliSense issues is to simply unload the project in the solution explorer and load the project again. After that IntelliSense is always working for me and I do not loose bookmarks, breakpoints or any other settings.
回答10:
I have found that if the build fails then the Intellisense seems to break. After fixing my build errors and rebuilding the project the Intellisense will work after reloading the particular Razor file.
回答11:
In my case, restart didn't work.
So I did the following weird steps :
- Closed the solution
- Opened another solution
- Verified that intellisense worked in this other solution.
- Closed the other solution
- Finally, reopened the first solution.
And the intellisense worked again.
回答12:
Usually this happens when the buffers have an error in them. Most of the time the local cache error is cleared when you close a, windows form, for example and reopen therefore reloading it into memory. Many of the solutions above work but sometimes it as as simple as closing the item and designer and reopening the item.
Additionally you can try to force a reset by
Ctrl+K, Ctrl+I shows quick info
Ctrl+Shift+Space shows you param info
回答13:
I tried lots of things which didn't work. In the end, I cut code to clipboard, recreated the controller and pasted code in. Problem solved!
回答14:
I too have the same issue with Intellisense in my Text editor.
i just close
example.cs file which is not providing Intellisense
and reopen that class without restart Visual Studio
it
works for me.
Note : i don't have the same issue with all the .CS file in Solution Explorer
回答15:
I use VS 2013 and I had the same problem.
My solution was update VS to last version. I my case Update 4.
Simply reference in project must match with assembly in GAC on computer (OS). Intellisense come from VS not from project.
I hope that will handy for some one.
回答16:
... Yet another answer - but this was the cause of my pain: I'd installed Developer Assistant which had been working nicely but suddenly stopped providing suggestions. To get it working again:
options -> developer assistant -> Intellisense -> Default Visual Studio Intellisense
Took me 5 hours to find that :(
HTH.
回答17:
Tools->Options->Text Editor->C# (or All Languages)->General
check the check box for enable Auto List Members
and Parameter Information
in right hand side pane.
If its not selected,select it.
回答18:
Save everything and restart Visual Studio!
回答19:
I get this exact same thing every time I work with one particular MVC5 project.
Restarting VS2013 does not work.
Deleting suo files does not work.
Resetting all tools settings does not work.
The only thing that ever works is removing the project from the solution and adding it again.
Seeing as I have to do this every day is is really quite annoying.
Especially when I have it set to reopen the last files I had open, I then need to track down the ones I was working on and re-open them instead of the popping up automagically..
回答20:
I'm using VS 2013 with MVC 5. The solution for me was to add the following to 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>
回答21:
Rushonerok's solution works great for me.
For anyone who doesn't know: <ProjectName>.v12.suo is a hidden file in project root folder. You must set on "Show hidden files" in your file browser to see it.
回答22:
So far some these solutions have not worked for me.
I have the following Workaround
Simply declare the type you want to use explicitly in a new variable and use that instead of Model
.
@model MyModel
MyModel mymodel = Model;
@mymodel.MyIntelisenseIsWorkingAgain
回答23:
To solve this I closed Visual Studio Express 2013 and I reopened the Solution but double clicking on its .sln
file directly from the file system. Opening it from the Start Page had my controllers intellisense broken.
回答24:
Closing and opening the Visual Studio Solution worked for me.
回答25:
Sometimes you close it by mistake. Try ctrl+space
for windows or cmd+space
for mac to turn it on.