1. 程式人生 > >Sandcastle Help File Builder[Missing <summary> documentation for ""]

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備註文件。如圖: