23

Since a month ago, my VS doesn't seem to want to display the summary info in tooltips for any system methods or classes when I hover them with my mouse.

I had ReSharper installed and started noticing this problem. I assumed that ReSharper disabled the default method descriptions, so I wasn't thinking much further about it, only considering it a mere annoyance.

After removing ReSharper though, the problem persisted.

VS now only shows descriptions for my own methods which I've added a <summary> tag for and any descriptions from NuGet packages, but not system methods like Where, Encoding.GetString, etc.

enter image description here

I've tried repairing VS, resetting settings, un-/checking checkboxes in Options > Text Editor > General, but to no avail.

Has anyone had a similar problem?

silkfire
  • 24,585
  • 15
  • 82
  • 105
  • maybe a dumb question, but does the second extension method ('After:') _have_ a description? If you were to go back to the original extension method and hover over it... has it also lost it's description? – 4ndy Jun 02 '16 at 07:10
  • @ToshiBoy Yes it does. This was maybe a bad example because the first picture shows the `LinqToSQL` version of `.Where()` whereas the second one shows the default, `IEnumerable` one. But if you hover over any system class like `List`, `Dictionary` or `Console`, there's no description text visible (called Summary in settings). – silkfire Jun 02 '16 at 07:26
  • And you've reset your settings? (cli devenv.exe /ResetSettings). Almost sounds as if Resharper deleted the descriptions... can you see the descriptions in the definitions? – 4ndy Jun 02 '16 at 07:46
  • 2
    This looks more like a framework issue rather that a VS/R# issue - as if the xml documentation files were missing - check that in `C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework`, and if you don't see them then reinstall the framework. – Lucas Trzesniewski Jun 02 '16 at 07:57
  • @LucasTrzesniewski: Indeed, that was the solution for me. The XML docs for (only) 4.5.2 were missing. I reinstalled the 4.5.2. Developer Pack and got them back! On a co-worker's PC, who had the same problem, were the german files installed (in a "de" subfolder), but didn't work either. When he copied my english XML files directly into the 4.5.2 folder, it worked on his PC as well. – Lennart Jun 02 '16 at 09:08
  • @LucasTrzesniewski Thank you so much! Finally solved my problem, I had exact situation as Lennart, the XML files were missing in the 4.5.2 folder. How did you found out this solution, may I ask? – silkfire Jun 02 '16 at 12:11
  • @silkfire glad I could help :) that was a simple intuition (if I were sure I'd write an answer instead of a comment - and now I know it helped I did just that so you can mark the question as answered). If neither R# nor VS manage to load the descriptions, I figured the problem *must* be with the descriptions themselves. – Lucas Trzesniewski Jun 02 '16 at 12:29
  • @LucasTrzesniewski Great call, I didn't even know the descriptions resided in a separate folder, I always thought they were embedded in the DLL files themselves :) Thanks once again, I believe this will help a lot of people. – silkfire Jun 02 '16 at 12:35

4 Answers4

17

This looks more like a framework issue rather that a VS/R# issue. If neither one of them can load the description strings, it probably means the description XML files are missing.

Check if you see the XML files in:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2

If you don't, then reinstall the framework to fix the issue.

Link to .NET Framework 4.5.2 Developer Pack: https://www.microsoft.com/en-us/download/details.aspx?id=42637

silkfire
  • 24,585
  • 15
  • 82
  • 105
Lucas Trzesniewski
  • 50,214
  • 11
  • 107
  • 158
  • 2
    What if the xml files are there but it's still not working? – David S. Sep 20 '16 at 14:52
  • @DavidS. make sure you've checked the XML files of the same framework version that you're using in VS. Other than that, I can't help much :-\ – Lucas Trzesniewski Sep 20 '16 at 15:10
  • For some reason it was not working for me and started working after I targeted to FW 4.5.2. I was testing with Enumerable.Range which is System.Linq however there is no xml for System.Linq on any of the folders 4.5 or 4.5.2 (I expected them to be aside the .dll file in the Facades folder) – Guillermo Ruffino May 11 '17 at 13:32
  • @LucasTrzesniewski Is it necessary to reinstall the framework to fix this? Is there any alternative solution to this? The Xml files are indeed missing for v4.6.2 – Mark Jun 06 '18 at 13:00
  • @hstg I just checked and I have xml files for v4.6.2, so yes, reinstalling the framework seems like a good option. I don't know if there's any other way to fix this. – Lucas Trzesniewski Jun 06 '18 at 14:30
  • For others with the same issue, I got here because I'm doing some maintenance on a legacy app that uses .NET Framework 4.5.2, and I could not see the Quick Info using Visual Studio Community 2019 on Windows 10. I was missing the .XML files, but installing the Dev Pack on Win10 was not an option, so I simple opened the install package with 7-Zip, got the XML files, renamed everything with LinqPad and copied to the same folder. Thanks @LucasTrzesniewski – Anderson Rancan Aug 08 '20 at 13:36
5

Try to activate the 'Statement completion' checkboxes in Options > Text Editor > All Languages > General as in the following screenshot:

options

Dennis Schröer
  • 2,392
  • 16
  • 46
2

After removing ReSharper from VS, it will be a framework issue, because in coresponding folder C:\Program Files(x86)\ReferenceAssemblies\Microsoft\Framework\.NETFramework\ will be absent demanded *.xml files (You can simple check it by look this folder, as wrote before @Lucas Trzesniewski ).

Also you can check it in VS by simple press F12 on any standart type or method (e.g. Console.WriteLine), you will see only list of methods in assembly, w/o any comments (also you can find at the top of page which assembly used by your current project, it version and location).

If you using for your project the last version Framework from your computer, you can simple decide this problem by reinstall it (coresponding "Microsoft .NET Framework 4.x.x Developer Pack").

But if you want reinstall some previous version (not the last), it can't be made simply, because the installation process can be blocked with the next explanation:

.NET Framework 4.5.x/4.6.x/4.7.x (ENU) or a later version is already installed on this computer.

You can use the next workaround: Run installation package with key "uninstall" (e.g. for 4.5.2 - NDP452-KB2901951-x86-x64-DevPack.exe /uninstall After that, the installation programm (on the last step before begin real work) give you selection from two option: Recovery or Uninstall, I highly recommend choosing the Recovery, because Microsoft not recommend to remove not the most last Framework.

P.S> Also you can select language which will be installed from pack, because NDP452-KB2901951-x86-x64-DevPack.exe is Multi-Languages pack, by using addative option /lcid 1033 (for en-US). All possible options you can recieve by key /?, but you must wait some time that your computer will be unzip the installation pack fully (archive near 400Mb), help information will be shown at separate window.

Denis Sivtsov
  • 120
  • 1
  • 12
0

Also, check that your project is referencing the libraries in the C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\ folder. You can do that by selecting each project reference and viewing it in the property window, or by editing your project file with a text editor.

I had one case where my project had references to the actual runtime framework located at C:\Windows\Microsoft.NET\Framework\ which does not have the associated .xml files.

Rhaokiel
  • 813
  • 6
  • 17