Sandcastle是微软提供的一个根据XML注释和DLL文件生成帮助文件的工具,目前是在CodePlex上的一个开源项目,可以去这里下载:Sandcatle 项目
Sandcastle 本身是一个console的程序,为了方便使用,我们可以使用他的GUI版本:Sandcastle Help File Builder
第一步,为你写的代码添加XML注释
我们创建一个简单的ClassLibrary1项目最为示范:
using System;using System.Collections.Generic;using System.Text;namespace ClassLibrary1{/// <summary>/// A sample class to show something using Sandcastle/// </summary>public class SampleClass{private string _propertyValue;/// <summary>/// Gets or sets the property value./// </summary>/// <value>The property value.</value>public string Property{get{return _propertyValue;}set{_propertyValue = value;}}/// <summary>/// Determines whether the property is null./// </summary>/// <returns>/// <c>true</c> if property is null; otherwise, <c>false</c>./// </returns>public bool IsPropertyNull(){bool result = false;if (this.Property == null){result = true;}return result;}/// <summary>/// Determines whether the property is null./// </summary>/// <returns>/// <c>true</c> if property is empty; otherwise, <c>false</c>./// </returns>/// <example>/// This example shows how you might use this method:/// /// <code>/// SampleClass sample = new SampleClass();/// /// if (sample.IsPropertyEmpty())/// {/// Console.WriteLine("The property is empty");/// }/// else/// {/// Console.WriteLine("The property contains value " + sample.Property);/// }/// </code>/// </example>public bool IsPropertyEmpty(){bool result = this.IsPropertyNull();if (!result){result = (Property.Trim().Length == 0);}return result;}}}
代码很简单,注意其中的XML注释。
打开项目的属性,在“Build”选项中,确保“XML documentation file:”被选中了。
第二步,编译这个项目,你会看到生成的DLL文件和XMl文件:
第三步,打开 Sandcastle Help File Builder
打开Sandcastle Help File Builder并新建一个项目:
为Sandcastle Help File Builder项目添加编译生成的DLL文件,右键点击项目右边的“Documentation Sources",选择“Add Documentation Source...”
选择刚刚生成的DLL文件。
第四步,修改设置
在项目的属性窗口,你可以根据需要修改一些设置。只生成C#帮助,继承的属性不显示
第五步,生成文档
点击Build the help file来生成文档。
这是最终生成的文档:
程序员的基础教程:菜鸟程序员