xml注释在发布模式下是否仍然存在?

时间:2013-05-02 11:33:39

标签: c# .net xml-comments

一方面MSDN说:

  

XML文档注释不是元数据;他们不包括在内   编译汇编...

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

为避免误解:我指的是:

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

2 个答案:

答案 0 :(得分:13)

XML文档文件与程序集的DLL分开。它们只是UTF8 XML文件。如果它们恰好与它们记录的DLL位于同一文件夹中,则Visual Studio将对其进行检索。

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

XML文档的所有内容都没有放在任何DLL中。

如果查看框架DLL文件(例如在“C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0”中),您将看到下一批“.xml”文件他们。

答案 1 :(得分:5)

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