Sandcastle幫助文檔生成器使用介紹


一、軟件介紹
      Sandcastle是一個管理類庫的文檔編譯器,是用於編譯發布組件(Assembly)信息的一個工具,這個工具通過反射和Xslt技術,可以從dll文件及其xml注釋(命令行編譯時加/doc參數或vs2005設置項目屬性得到)得到一個完整的幫助文檔,格式可以是Html或CHM甚至是任何自定義的格式。
  Sandcastle與.NET Framework 2.0和.NET Compact Framework組合使用。Sandcastle支持本地化,並提供一個基本的命令行編譯器界面和一個Visual Studio插件。
  Sandcastle中共有三個組件:MrefBuilder、Build Assembler和XslTransform。這些工具使用編譯匯編代碼時生成的輸出結果,包括DLL文件以及XML注釋文件。 
  MrefBuilder反射一個項目的匯編代碼並生成一個輸出文件。MrefBuilder是一個隨Sandcastle安裝的命令行工具。它生成的輸出文件通過XslTransform命令行工具轉換成一個叫做reflection.xml的文件。reflection.xml文件包含所有文檔數據,但不提供顯示細節。 
  MrefBuilder完成工作后,立即由Build Assembler接手處理。Build Assembler可由命令行工具BuildAssembler啟動。它利用由MrefBuilder生成的數據(reflection.xml)和任何代碼注釋(保存在獨立的XML文件中),生成按邏輯分組的HTML文件。HTML Help Compiler再利用這些HTML文件生成最終結果。 
  該工具並未限制你一次處理一個匯編。如果你需要處理幾個匯編代碼,你必須深入了解Sandcastle配置文件。它是一個包含建立幫助文件主題所需步驟的XML文件。
  Sandcastle生成的輸出結果具有以下特點: 
Ø         類似於MSDN布局的界面。 
Ø         自動生成索引項、內容項目表、主題塊和頁面布局,提高一致性和熟悉程度。
Ø         自動生成語法宣稱部分。 
Ø         自動生成繼承表。 
Ø         代碼彩色化。 
Ø         提供多種風格和語言選擇,終端用戶可從中選擇自己最喜歡的形式。 
Ø         輸出結果以HTML和CSS形式顯示,微軟承諾將來提供更多選擇。
二、軟件使用
  軟件的使用方式大致有以下5種:
(1)使用Sandcastle原始的命令行方式
(2)Sandcastle Help File Builder
(3)SandcastleGUI
(4)Sandcastle CHM編譯BAT腳本和配置實用工具
(5)DocProject 
 文章以第(2)種為例,介紹Sandcastle的使用
  1、關於生成文檔代碼注釋的規范:
  在源代碼文件中,具有規范格式的注釋可用於指導工具Sandcastle.msi根據這些注釋和它們后面的源代碼元素生成 XML。使用這類語法的注釋稱為文檔注釋 (documentation comment)。這些注釋后面必須緊跟用戶定義類型(如類、委托或接口)或者成員(如字段、事件、屬性或方法)。XML 生成工具稱作文檔生成器 (documentation generator)。由文檔生成器產生的輸出稱為文檔文件 (documentation file)。文檔文件可作為文檔查看器 (documentation viewer) 的輸入;文檔查看器Sandcastle是用於生成類型信息及其關聯文檔的某種可視化顯示的工具。
  新的代碼注釋規范需要使用以三個斜杠 (///) 開始注釋,這些注釋后面必須緊跟它們所注釋的用戶定義類型(如類、委托或接口)或者成員(如字段、事件、屬性或方法).對注釋解說需要使用有效的xml標記。
部分標記如下: 
   
2、下載並安裝
  --- Sandcastle   http://sandcastle.codeplex.com/   //原始
  --- SHFB(Sandcastle Help File Builder)  http://shfb.codeplex.com/  //文章我們要用到的。
 ①如果之前安裝過其它版本,請先卸載后再裝。
 ②下載完成后解壓,我使用的為SHFBGuidedInstaller_1970版本,得到如下
  
 
打開SandcastleInstaller.exe進入安裝界面
 
 
安裝相當簡單,在連網的環境下,需要的組件會自動提示下載安裝。測試時,除了MAML Schema IntelliSense 及MAML Snippet Files選擇了跳過沒有安裝以外,其它全根據提示安裝上了。(因為不明白那兩個東西是做什么的)。
 
安裝完成后,便可以在開始菜單中找到,打開程序,如下
 
 
a.打開軟件后首先新建解決方案,注意不要建在桌面等位置,否則生成時會報錯。
b.解決方案建成后,在Project Explorer 中右擊 Documentation Sources 上右擊添加需要生成幫助文檔的dll文件。圖中①處為我添加的需要生成幫助文檔的dll文件
c.底下Content Layout1.content為生成的幫助文檔的樣式,完全可以不要。
d.選擇要生成幫助文檔的格式,如圖中②處,我要生成html格式的幫助文檔。
e.其它設置默認即可,過會底下會做介紹。
f.點擊③處開始生成,如圖
 
g.生成完成后,會看到提示:
Build completed successfully at 09-09-2013 11:47  下午.  Total time: 00:01:11.3906
即可在Sandcastle解決方案目錄下看到Help文件夾,即是生成的幫助文件。
 
h.如果不能編譯生成CHM文檔或者生成CHM時報錯,則需要安裝HTML Help Workshop(需要用到其中的hhc.exe文件)
 
3、集成到Visual Studio中
  a.回到Sandcastle安裝程序目錄 ,打開 InstallResources文件夾,看到以下三個文件
雙擊最下邊的vsix文件,反應一會兒會彈出如下錯誤,即表示安裝成功了:
 
b.現在在解決方案中添加項目,如下
c.選擇Documentation-->Sandcastle Help File Builder Project-->確定
d.雙擊Project Properties 可以設置項目的屬性
屬性個性化定制主要屬性有:
   1.生成屬性設置,如需要生成什么類型的文檔(可選chm、網站站點等)
   2.文檔內容屬性設置,如對命名空間的解說。(命名空間在C#代碼中是不可以有注釋的,故在此可以設置,也可以在項目中新建一個類NamespaceDoc.cs其代碼為:
1 namespace  TestForHelp
2   {
3     ///<summary>
4    ///These are the namespace comments for New <c>TestForHelp</c>
5    ///</summary>
6    [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
7       classNamespaceDoc
8        {  }
9   }

 

   3.文檔文件的屬性設置:如頁眉、頁腳、版權信息。
e.同樣,右擊 Documentation Sources 上右擊添加需要生成幫助文檔的dll文件,可一次添加多個
f.在項目名上(如DocumentationHelp)右擊,添加--新建項,可指定項目模板
 
g.所有設置完成后,生成項目,即可得到想要的幫助文檔,同樣保存在項目下Help文件夾下。
h.再次提醒,如果不能編譯生成CHM文檔或者生成CHM時報錯,則需要安裝HTML Help Workshop(需要用到其中的hhc.exe文件)

 參考資料:
 3. 使用 Sandcastle 生成 chm 幫助文檔 (使用Sandcastle原始的命令行方式)
 4.軟件的幫助文檔,講得很全,但全是英文。

 


免責聲明!

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



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