.NET文檔生成工具ADB

很久以前就使用ADB這個工具來生成項目的幫助文檔。功能強大,在學習一些開源項目的過程中,官方沒有提供CHM幫助文檔,所以為了快速的了解項目結構和注釋。就生成文檔來自己看,非常好用。這也是一個學習方法吧。例如本文在:

Compare.NET Objects對象比較組件

SharpConfig配置文件讀寫組件

上述2篇文章中最後的資源中就手動製作了CHM幫助文檔。有時候我們還可以對源碼進行翻譯,再製作,效果還不錯。今天介紹的ADB工具,我使用的是基於X組件的一個改進版。改進的細節我也不太清楚,反正非常好用。下面來看看介紹和使用方法。

1.ADB介紹

程序的注釋在程序的編寫和維護中扮演著相當重要的角色,在Visual C#中,可以為代碼創建文檔,方法是在XML標記所指的代碼塊前面,直接在源代碼的特殊注釋欄位中包括XML 標記。編譯器編譯時將在源代碼中搜索所有的 XML 標記,並創建一個XML文檔文件。.NET文檔生成工具(下文簡稱為ADB)通過反射程序集及其代碼中的XML注釋來創建MSDN形式的API文檔。

ADB文檔生成工具是博客園 盧春城 開發的一個開源工具,項目的介紹網址為:

cnblogs.com/lucc/archiv

注意:使用該軟體需先安裝Microsoft HTML Help Workshop,主要作用有:

(1)根據程序集及其對應的XML文檔文件生成風格類似MSDN的文檔,並打包為CHM文件;

(2)將多個程序集對應的文檔合併到一個文檔中;

(3)自動搜索程序集及其引用的程序集對應的XML文檔(包括.Net自帶的程序集,如:System.xml);

(4)靈活控制在文檔中顯示哪些成員(如:只生成公共方法);

(5)界面友好,操作簡便。

(6)用戶可以根據自己的需要擴展XML標誌;

(7)用戶可以根據自己的需要編寫自定義的文檔生成器。

ADB官方提供的最新版是2.3,可以去上面的鏈接下載最新版,我這裡分享的是@大石頭使用X組件重新編譯後的版本。

2.ADB生成.NET文檔過程

使用過程分為3個步驟:

2.1 .NET項目代碼注釋

ADB代碼生成主要是根據項目的注釋來進行生成的。例如C#中注釋的標記:

/// <summary>獲取指定數組中,滿足範圍的比例</summary>/// <param name="data">目標數據</param>/// <param name="L">下限</param>/// <param name="H">上限</param>public static double FindPrecent(this IEnumerable<Int32> data, Int32 L, Int32 H){ var t = (double)data.Where(n => n >= L && n <= H).Count(); return t / (double)data.Count(); }

當然還有更多的標記符號,例如example,code,see等等。如果想做很完善的幫助文檔,那這些細節處理得越好,那文檔的作用就越強大。

2.2 項目設置與生成

項目編譯之前,要確認是否生成xml文件,打開 項目屬性->生成->輸出 節點,如下圖:

確認勾選xml文檔文件選項。生成的時候就是根據這個xml的注釋來進行的。

2.3 ADB使用生成CHM文檔

打開ADB軟體,我在第3節提供2個版本的下載,如果需要自己編譯其他版本,打開ADB軟體,如下圖:

輸入標題後,添加你要生成的文檔的dll文件,可以添加多個,然後如果你生成了對應的xml文件,會自動載入進來。否則會報錯。如下圖:

還可以只添加你想要的類型以及方法。一般非公共類型可以不加進去。最後點」創建文檔」就OK了,它會生成到你xml文件的目錄。

注意2個小問題:你的CHM的文件標題要規範一點,什麼#號,:號等都不要加上去,否則會報錯,有時候很頭疼。。。經常會忘記這一個,有時候還不止咋搞,就錯誤。如下圖所示,標題就有問題:

好了,不說了,說多了都是淚。下面看看我生成的一些文檔:

效果不錯哦。。。趕緊試試。

3.資源與代碼

我這裡發的是X組件修改版本的源代碼,感謝@盧春城 ,@大石頭,我只是打醬油的,把它分享出來而已。

 下載地址更新為博客園的地址 : Microsoft HTML Help Workshop下載

ADB X組件版本源碼:ADB_Src.rar

ADB .NET 4.0版本:ADB_4.0.rar

ADB .NET 4.5版本:ADB_4.5.rar

大家主要,如果dll不是上面2個版本,可能要自己編譯一下。如果有問題,及時留言,我會給大家解決,可能有一些小問題。因為我安裝好後,基本生成都是好的。沒碰到過啥問題,不保證大家也么有問題啊。非常感謝TakeTry 發現一個問題:

大多數人安裝HTML Help Workshop 會默認安在C盤,

我將 HTML Help Workshop 安裝到D盤時,生成時會報"系統找不到指定的文件"。

在源碼里,將CreateCHM()方法中的

「_hhcProcess.StartInfo.FileName = _defaultHHCPath; 」 ,_defaultHHCPath 改成 HHCPath 就可以正常生成了。

推薦閱讀:

C#泛型(MSIL)的內部是怎麼實現的?
.NET Core是否會取代.NET Framework?
是不是 好無聊?
如何評價.NET Core 1.0稱使用.NET Core運行速度是Node.js的八倍,Go的三倍?
如何學好ASP.NET MVC ?

TAG:NET | 開源項目 | oschina開源中國 |