Sandcastle Help File Builder[Missing <summary> documentation for ""]
實現SHFB的軟體環境:
首先:需要安裝Sandcastle,搜尋下載最新版本。
其實:就是chm檔案的製作軟體HTML Help Workshop。路徑:http://download.csdn.net/detail/ybb350680013/9918704
實現步驟:
第一:把生成幫助的工程的屬性做下修改,右鍵工程,屬性,生成,下面的輸出框中有一個生成XML檔案選項,打勾。檔案會把工程中所有類,方法,屬性上的註釋儲存下來。
第二:啟動shfb,然後新建一個工程,名稱可以隨意指定。這裡主要說說幾個比較重要的屬性設定問題:
1:Documentation Sources,是需要生成詳細註釋的工程。如果最外層工程有對其它工程的引用,而且我們希望看到所有引用的類,就需要把所有被引用的工程都新增進來。否則使用者點選外層類時,被引用的類上面不會有連結,即我們看不到被引用類的內容。
2:References:設定一些工程的依賴項。
3:FrameworkVersion: 選擇對應的Framework版本 ,最新版的shfb的預設設定是.net 3.5。
4:HelpFileFormat : 選擇需要生成的文件的格式. 這裡選定的格式要在下面對應的地方進行設定。對於不同的格式還需要安裝不同的編譯工具 Helpe1x(chm)需要安裝Microsoft HTML Help,Helper2x(Hxs)需要安裝 Hxcomp.
5:NamespaceSummaries: 選擇需要生成的名稱空間,直接點選開窗選擇。
6:Lanugages :語言,如果文件中有中文,最好選擇中文。
7:CopyrightHref:版權連結,例如http://www.xxx.com/
8:CopyrightText: 版權文字 ,xx公司所有
9:HelpTitle: 文件標題
10:HtmlHelpName:文件生成檔名稱
11:PresentationStyle: 支援vs 2005,Prototype等格式 ,根據自己需要選擇
12: OutputPath:生成路徑,即最後chm檔案存放位置,當然除了CHM還有些其它檔案。
13:HtmlHelp1xCompilerPath:可以自定義html help的安裝路徑。
14:SandcastlePath:可以自定義sandcastel的安裝路徑。
15:Missing Tags: 設定需要顯示的備註資訊。
到此,我們就可以點選軟體視窗上的buile the help file按鈕,就可以按預期進行生成文件了。如果沒有特殊情況,執行期間不會發生任何錯誤,我們會成功的在輸出目錄中發現chm檔案,但有些情況還是需要注意一下的:
第一:在新增Documentation Sources時,不能在路徑中包含.h的字樣,例如.Hotel.Host\bin這種路徑是不合法的,最後hhc軟體會報錯。
第二:References項中不能存在重複項。
如何正常編寫註釋,來生成詳細可用的幫助文件?
1:類的註釋。一般分為summary以及remarks兩部分。
/// <summary>
/// 體驗賬號檢測
/// </summary>
/// <param name="phone">手機號碼</param>
/// <returns></returns>
public HttpResponseMessage Get(string phone)
{
return ToJson(experienceUser.Expired(phone));
}
2:方法的註釋。除了類上面的summary,remarks,還可以加上example,在其中的code標籤中加上例項程式碼等等。
程式碼 /// <summary>/// 平臺邀請使用者進行手機點評方法
/// </summary>
/// <param name="request"> 使用者點評資訊 </param>
/// <returns> 點評處理結果 </returns>
/// <remarks>
/// 會把點評傳送結果傳送到使用者手機中
/// </remarks>
/// <example>
/// <code>
/// HotelCommentWcfClient target = new HotelCommentWcfClient();
/// Elong.Hotel.ServiceAgent.Test.HotelCommentWcf.HotelCommentRequestInfo request = null;
/// request = new Elong.Hotel.ServiceAgent.Test.HotelCommentWcf.HotelCommentRequestInfo();
/// request.HotelOrderLast4 = "3716";
/// request.Mobile = "********";
/// request.RecommentContent = "aaa";
/// Elong.Hotel.ServiceAgent.Test.HotelCommentWcf.ResponseBaseInfo actual;
/// actual = target.SMGAndComment(request);
/// </code>
/// </example>
public ResponseBaseInfo SMGAndComment(HotelCommentRequestInfo request)
3:屬性的註釋。這個是最簡單的,一般有summary塊就行了,其中有一個value塊,可以針對預設值進行描述。
總結:Sandcastle Help File Builder能夠非常好的和VS合作,製作出MSDN風格的幫忙文件,即有效的對專案儲存了技術文件又降低了溝通成本。
PS:此類錯誤及解決辦法,[Missing <summary> documentation for ""]
此時發現,在專案中,添加了對應的備註,依然沒有寫入到幫助文件。如圖:
原因是因為VS只是編譯的DLL中,是不包含註釋的。
解決辦法:在VS中輸出一個XML備註文件。如圖: