Visual Studio Intellisense的评论来自哪里?

Visual Studio项目可以选择创建XML文档文件 。 我知道,如果您想运行Sandcastle或NDoc等程序或创建MSDN样式API文档,XML文档文件会非常有用。 精细。 我不在乎。

根据此链接: http : //msdn.microsoft.com/en-us/library/s0we08bk.aspx

将/ doc开关添加到Visual Basic,C#或C ++编译器命令行时,会生成一个.xml文件,作为IntelliSense文档的基础。

因此,我认为Intellisense注释可以从这些生成的XML文件中显示出来。

但我创建了一个小测试应用程序,我在一个完全不同的项目中调用一个方法,XML注释出现在我的Intellisense中 – 我甚至没有保存MediaHelper类! 所以在这种情况下,显然没有Intellisense使用的.xml文件。

来自未保存班级的评论

鉴于这一切,Intellisense从哪里获得它的垃圾? 谢谢!

当源代码在现有解决方案中(或者甚至更好,同一个项目)时,Visual Studio不需要查找XML文件 – 它知道文档注释的位置,因此它将使用它们。 (就像Intellisense知道你在另一个文件中声明了哪些成员,即使你还没有真正重建过。)

如果要在同一解决方案中添加对DLL的引用而不是项目引用,则需要创建XML文件。 因此,例如,我使用Noda Time包提供NodaTime.xml,因此即使您没有源代码,您仍然可以在Intellisense中看到注释。

Intellisense从其XML注释中获取它。

例如,假设我有一个class级:

/// /// This is an example class /// static class Foo { //members } 

事实上,你可以比这更深入。 例如,一种方法:

 /// ///Returns the object to string, uppercased. /// ///The object to be transformed. ///The string. public string someMethod(object o) { return o.ToString().ToUpper(); }