虽然有许多人对VS XML注释的插件表示怀疑,但在年复一年的不断发展中,他的插件问题也在不断提高。保障VS XML注释的插件稳定运行是完全有可能的,但前提是要深入理解到底什么是VS XML注释,及他是怎么运作的。
这些手工标记是非常有用的,如果恰当地设置他们,对导出成外部说明文件将非常有帮助。如果碰到是预先定义的xml标记,编译器可以把这些注释以文本输出;如果是编译器不认识的xml标记,编译器会逐字的把所有内容都输出,这意味着你可以使用自己定义的标记。#t#
适当的设置,C#编译器并不格式化VS XML注释,而是以xml文件输出。下面的步骤将演示如何让C#编译器把VS XML注释输出为xml文件。右键点击解决方案资源管理器中的工程项,打开工程的属性页,点击属性。对话框出现后,点击配置属性目录。点击生成节点。
在右边的框中有输出--xml文档文件,这里就是设置丛VS XML注释生成xml文件的文件名。(注:这里设置的是相对路径,不是绝对路径)。在我的例子中,我使用GiveHelpDoc.xml作为文档名,如果这里没有输入任何值,这将是默认设置。
公认的标记我把VS XML注释标记分类两大类:***类是设置标记,我叫他们主标记。他们在一组标记的开始,而且不会在标记内部出现。第二类是设置标记包含的标记,我叫他们支持标记。支持标记和html标记的区别在于:支持标记采用的是小写,html标记采用的是大写,显示了我将要讨论的支持标记和主标记。
GiveHelpTransforms.cs部分代码:
- namespace GiveHelp
- {
- <remarks>
- Class that contains functions to do transformations to help files.
- The source XML is loaded into the <see cref="SourceXML"/> property
- (e.g. <c><I>obj</I>.SourceXML = "<I>XML goes here</I>"</c>). One of
- the associated member functions (<see cref="GiveTypeListHTMLHelp"/
- >, <see cref="GiveMemberListHTMLHelp"/>, <see
- cref="GiveMemberHTMLHelp"/>)
- is called to initiate and then return the transformation.
- <para>
- <list type="table">
- <listheader>
- <term>Help Page</term>
- <description>Function to call</description>
- </listheader>
- <item><term>List of Types</term>
- <description>GiveTypeListHTMLHelp</description></item>
- <item><term>List of members</term>
- <description>GiveMemberListHTMLHelp</description></item>
- <item><term>Help for a single member</term>
- <description>GiveMemberHTMLHelp</description></item>
- </list>
- </para>
- </remarks>
- <permission cref="">public</permission>
- <example><code>
- // create the class that does translations
- GiveHelpTransforms ght = new GiveHelpTransforms();
- // have it load our XML into the SourceXML property
- ght.LoadXMLFromFile("E:\\Inetpub\\www-
- root\\GiveHelp\\GiveHelpDoc.xml");
- // do the translation and then write out the string
- Response.Write( ght.
- GiveMemberHTMLHelp(Request.QueryString.Get("Type"),
- Request.QueryString.Get("Member")) );
- </code></example>
- public class GiveHelpTransforms
- {