Visual Studio 2015 缺少 XML 注释 / 文档

12

是我还是在Visual Studio 2015中System.Linq的XML注释缺失了? 因为我仍然可以在MSDN上找到它。 但是当输入例如以下代码时:

var list = new List<string>();
list.Select(

IntelliSense不提供System.Linq命名空间中任何类/方法/成员/扩展的注释/文档: enter image description here 当在Enumerable上的随机扩展方法中按(Alt + )F12进行定义跳转时,这是一个预览: enter image description here 我想我在Visual Studio 2013中也没有注意到文档。但我记得它们曾经存在过,也许是在Visual Studio 2012或之前? 编辑: 我忘了提到我已经在Visual Studio 2015中安装了Resharper 10 Ultimate。我还在Visual Studio 2013中安装了Resharper 8和9。

你是否找到了解决此问题的方法?我最近升级到VS15并遇到了类似的问题。对我来说,不仅仅是 Linq 文档缺失。例如,大多数 Dictionary<T,K> 的 xml 注释也都丢失了。我尝试按照 spellizari 建议寻找更完整的 .Net 4.6.1 版本,修复安装并重新安装,但都没有起作用。 - Thick_propheT
我使用VS2015和Resharper 10遇到了同样的问题。目前我已经重新安装了Resharper 9.2,一切正常。 - Thomas
我还没有找到解决问题的方法,但我认为我们两个问题可能有部分不同。我认为我的问题可能是由于一个 bug 导致的(https://social.msdn.microsoft.com/Forums/vstudio/en-US/7e44b54c-3b3b-444f-9e3a-470b54a480ce/framework-46-why-is-the-xml-documentation-missing-important-types?forum=netfxbcl)。自从昨天我发布这个帖子之后,我已经完全卸载了VS15和所有版本的.Net和相关SDK。然而,在重新安装VS15之后,问题仍然存在。@spellizzari 的解决方案至少给出了 xml 文档文件的位置的一个很好的提示。也许可以在那里寻找线索。 - Thick_propheT
在提供了@spellizzari的解决方案之后,我相信这可能有效。似乎安装VS15只安装了.NET 4.5多目标包而没有安装.NET 4.5多目标包(ENU)。但是它确实安装了4.5.1及以上版本的常规和ENU版本。现在我只需要找到一个4.5 ENU的安装程序在哪里。 - Thick_propheT
在我的情况下,XML文档并没有丢失。但是,在System.Core.xml中的System.Linq命名空间的XML文档中,我似乎找不到静态类Enumerable的那些扩展方法的文档。 - QuantumHive
显示剩余2条评论
3个回答

3
我遇到了同样的问题,但是针对整个框架(4.6)。实际上,我错过了文件夹“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6”中整个框架程序集的所有XML文件。
问题在于我安装了从MSDN下载中心获得的Microsoft .NET Framework 4.6 Targeting Pack,但我错过了其他较小的msi包。主要包仅安装必要的程序集,而您必须安装其他一个(ENU、ITA等)才能获得下载页面上选择的语言的那些XML文件。

1
对我来说奇怪的是,当我查看C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v*目录时,我可以看到一堆XML文档与它们的兄弟dll并排坐着。现在奇怪的是,在我的情况下,只有System.Linq来自System.Core.dll。当我查看System.Core.xml内部,并Ctrl+F到其中一个扩展方法时,我没有得到任何结果...所以我真的猜测微软在某个地方引入了一个错误。 - QuantumHive

1
XML注释/文档没有问题,但您的智能感知有问题。

对于外部类型,转到定义只会显示来自源代码元数据的版本。

这就是为什么您在顶部看到这个:

#region Assembly System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Core.dll
#endregion

它说:[来自元数据]

enter image description here

我看到在 Select 上进行定义时也有相同的情况,但我得到的智能感知比你的截屏中多:

enter image description here


2
那么问题仍然存在,我该如何解决呢?因为文档只在“System.Linq”命名空间中缺失。所有其他.NET命名空间都有文档。我不认为我的IntelliSense出了问题,而是这个特定的程序集出了问题。你不觉得吗?否则IntelliSense就不会为其他命名空间显示文档了。 - QuantumHive
3
你能在元数据中看到注释(每个成员前面的...),而@QuantumHive在元数据中没有这些注释。 - wertzui

0

我在重新安装Visual Studio 2019后仍然遇到了这个问题... 解决方案是手动下载SDK(.Net框架开发人员包)从Microsoft


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接