8

一方面,MSDN说:

XML 文档注释不是元数据;它们不包含在编译的程序集中...

但另一方面,Intellisense 在 Visual Studio 中为 .net 类等显示它们(例如,如果您将鼠标悬停在Int32.)

为避免误解:我指的是这些:

/// <summary>
/// These comments.
/// </summary>
void example()
{
    //Not these.
}
4

2 回答 2

13

XML 文档文件与程序集的 DLL 是分开的。它们只是 UTF8 XML 文件。如果它们碰巧与它们记录的 DLL 位于同一文件夹中,则 Visual Studio 将选择它们。

编译时,构建过程会自动将 XML 文件复制到构建输出文件夹(如果存在)。

XML 文档的任何内容都不会被放入任何 DLL 中。

如果您查看框架 DLL 文件(例如在“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0”中),您会在它们旁边看到大量的“.xml”文件。

于 2013-05-02T11:37:58.977 回答
5

当您将代码编译为 IL 时,不会删除这些内容。...将您的代码编译为 DLL 或 exe,然后使用工具 ILDasm 打开它。您会注意到您的评论不包括在内。然后,您可以使用 Reflector 之类的工具反编译您的代码,然后再次看到您的评论消失了。ILDasm 和 Reflector 通常是您应该熟悉的好工具。

于 2013-05-02T11:34:25.493 回答