2017-07-25 124 views
5

我目前正在開發一個應用程序,它需要我不能控制的外部DLL。我想爲這些類添加文檔,以便其他人可以理解爲什麼我要對這些外部DLL文件進行某些調用。用sandcastle記錄外部DLL

將外部DLL文件添加到文檔源確實會記錄這些類,但所有摘要和其他信息都不可用。是否有可能記錄這些文件(最好不需要反編譯/重新創建程序集爲一個項目),所以我可以用sandcastle生成相關的HTML文檔?

我試着保持沙堡工作目錄啓用,看看.xml文件(我看到從我的其他項目複製過來)是以某種方式生成並放置在此目錄中。這似乎並非如此,沒有生成文件,並直接生成html文件。

+0

這可能有所幫助:https://ewsoftware.github.io/SHFB/html/f5b58289-dd25-45b6-b616-5b8af6ba3739.htm#CreateComments – IronGeek

+0

你是如何使用dll的?難道你不能創建一個包裝的DLL?這樣你就可以選擇可能與應用程序更相關的函數名稱,也可以將自己的函數和對包裝器實現中dll的調用註釋掉。您還可以獲得將dll更換爲其他內容的好處。 – David

回答

4

據我瞭解到,您對外部DLL使用情況下創建文件的問題,我看到兩種可能的方式,你可以去:

  • 添加「失蹤」筆記外部DLL的所有項目,你可能想要記錄或/和
  • 將概念性主題添加到您自己的程序文檔中。

我的樣品溶液WindowsApplication2項目具有形式使用簡單PDUNZDLL添加兩個值。 Sandcastle幫助文件構建器項目「Documentation1」已添加,並且兩個文檔源(在此階段沒有XML註釋文件,請參見下面的第一張快照)。你知道 - 沒有XML註釋文件的DLL會導致紅色缺失摘要。

Snapshot of project and reproduced problem.

建議的解決方案(1):

  1. 創建像一個.xml擴展例如在組裝後下面並將其命名爲一個空白XML註釋文件PDUNZDLL.xml

    <?xml version="1.0"?> 
    <doc> 
        <assembly> 
        <name>PDUNZDLL</name> 
        </assembly> 
        <members> 
        </members> 
    </doc> 
    
  2. 將該文件保存到比如Debug文件夾D:\Visual-Studio-2015\Projects\WindowsApplication2\WindowsApplication2\bin\Debug

  3. 雙擊「項目屬性」(請參閱​​下面第二個快照)
  4. 在組件配置對話框中,添加了「智能感知組件「添加到項目中。
  5. 選擇「Missing Tags」並設置項目的Show Missing Tags屬性以滿足您的喜好。這將強制構建爲您可能想要記錄的所有項目添加「缺失」註釋。
  6. 構建項目,您會在項目的輸出文件夾中找到以該程序集命名的新XML註釋文件,例如D:\Visual-Studio-2015\Projects\WindowsApplication2\Documentation1\Help
  7. 編輯XML註釋文件中的​​元素以添加所需的每個成員的註釋,如第二個快照中所示。

完成後,請替換原始的佔位符文件,例如D:\Visual-Studio-2015\Projects\WindowsApplication2\WindowsApplication2\bin\Debug\PDUNZDLL.xml與您編輯的評論生成的一個。重建您的文檔項目。

這當然很耗時,因爲任何幫助編寫應用程序的幫助。它實際上是DLL開發人員的任務。

enter image description here

建議的解決方案(2):

你行」 ......之間的閱讀,讓其他人能夠理解爲什麼我在做某些呼叫我正在對這些外部DLL文件「。讓我建議在自己的程序中添加補充文檔。

所以,我的意思是添加概念性主題,描述如何調用外部DLL文件的功能。

我刪除了在「文檔源」的DLL, 增加了一個新的文件夾「ExternalDLL」, 增加了一個新的項目概念和演練, 雙擊在解決方案資源管理ContentLayout.content, 並沒有爲內容的所有步驟佈局,重建文檔項目,生成一個幫助文件,如下面第三張快照所示(另請參閱背景信息)。

![enter image description here

快樂幫助創作!