將C#文檔注釋生成.chm幫助文檔


由於最近需要把以前的一個項目寫一個文檔,但一時又不知道寫成怎樣的,又恰好發現了可以生成chm的工具,於是乎我就研究了下,感覺還不錯,所以也給大家分享下。好了,不多廢話,下面就來實現一下吧。

生成前的准備

在開始做之前,還是要補充說明一點:我們是通過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中敲“///”就是文檔注釋)

PS:注意,我這里Person類的訪問修飾符是public,由於我這里只用了一 個類,如果不加public就會出現“No APIs found to document. See error topic in help file for details.”的錯誤。

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

QQ截圖20140316161858

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

image

生成chm文檔工具介紹

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

從這里下載工具:

Sandcastle:http://sandcastle.codeplex.com/,點擊右側的download大家都懂的。

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/fzrain/p/3604550.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM