工具分享——將C#文檔註釋生成.chm幫助文檔

因爲最近須要把之前的一個項目寫一個文檔,但一時又不知道寫成怎樣的,又剛好發現了能夠生成chm的工具,因而乎我就研究了下,感受還不錯,因此也給你們分享下。好了,很少廢話,下面就來實現一下吧。html

生成前的準備

在開始作以前,仍是要補充說明一點:咱們是經過C#文檔註釋生成的XML文件來生成幫助文檔的。所以,第一步就是生成XML文檔:工具

具體步驟:打開VS->隨意建立一個項目(這裏我用的是控制檯項目),而後添加以下內容:測試

/// <summary>
   /// 人類
   /// </summary>
   public  class Person
    {
       /// <summary>
       /// 姓名
       /// </summary>
        public string  Name { get; set; }
        /// <summary>
        /// 年齡
        /// </summary>
        public int Age { get; set; }
        /// <summary>
        /// 自我介紹
        /// </summary>
        /// <param name="name">姓名</param>
        /// <param name="age">年齡</param>
        /// <returns>自我介紹的內容</returns>
        public string Say(string name,string age )
        {
            return "My name is" + name + ",Age:" + age;
        }
    }

很普通的一個類,可是要注意下注釋部分,這裏的註釋是文檔(不一樣於」//」的註釋,在VS中敲「///」就是文檔註釋)ui

PS:注意,我這裏Person類的訪問修飾符是public,因爲我這裏只用了一個類,若是不加public就會出現「No APIs found to document. See error topic in help file for details.」的錯誤。spa

繼續以前的操做:右擊程序集選擇屬性,選中XML文檔文件:插件

QQ截圖20140316161858

保存,編譯,而後在項目的bin\Debug目錄下你就會看到生成的xml文件:3d

image

生成chm文檔工具介紹

Sandcastle是微軟官方的文檔生成工具,NDoc開發中止後,這個貌似也是惟一的一個這方面的工具。它從dll文件及其xml註釋文件可以生成完整的幫助文檔,支持多種生成格式(Helpe1x:chm, Helper2x:Hxs, Website,HelperView),結合新發布的Sandcastle Help File Builder可視化工具,整個生成過程十分簡單,並且SHFB工具看起來很強大,不只可以直接配置生成文檔的各個屬性,並且還支持很靈活的擴展設置,爲咱們提供完美的.NET類庫文檔成爲一個可能。code

從這裏下載工具:xml

Sandcastle:http://sandcastle.codeplex.com/,點擊右側的download你們都懂的。htm

Sandcastle Help File Builder:http://shfb.codeplex.com/

在SHFB的壓縮包裏我發現了一個VS插件,所以接下來我就打算用VS來演示,若是不想裝這個插件的話,能夠運行C:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder\SandcastleBuilderGUI.exe這個程序,結果都是同樣的

生成chm文檔

重頭戲來了,打開VS,新建項目:

image

點肯定,右側項目結構:

image

選擇ContentLayout.content,看左邊,這裏有一些文檔屬性以及版本號等信息,可是咱們這裏用不到,所以刪掉。若是留着也沒事,就是在生成文檔的時候頭部多了幾行而已,有興趣的朋友能夠繼續研究。

image

選擇要生成文檔的程序集(對應的XML會自動添加),

image

 

右擊項目選擇屬性:

QQ截圖20140316165603

到這裏爲止可謂是萬事俱備,只欠東風。那麼,東風在哪裏呢?很簡單,生成項目。若是在生成的過程當中沒有錯誤的話,那麼在項目目錄的Help文件夾下你就會看到:

image

打開測試文檔:

image

總結

貌似沒什麼好總結的。。。。

參考資料:http://www.cnblogs.com/lonely7345/archive/2010/01/13/1647245.html

相關文章
相關標籤/搜索