我一直在尋找構建文檔的工具。沙堡(Sandcastle)很好,但似乎不適用於.NET核心項目,而且又老又臭。必需的功能:
- 可以導出靜態網站
- 與.NET core良好的兼容性。
- 易於使用某些模板技術進行自定義
- 可以自動生成相關類型/類之間的鏈接
- 支持XML註釋
我一直在尋找構建文檔的工具。沙堡(Sandcastle)很好,但似乎不適用於.NET核心項目,而且又老又臭。必需的功能:
搜索並嘗試了一段時間後,我找到了它的完美替代方案。
主要功能:
DocFX直接從.NET源代碼生成API文檔。您可以在源代碼的“三斜杠註釋”中使用Markdown語法。它甚至允許您使用Markdown文件向API文檔添加其他主題。當然,也支持純Markdown文件。您可以在一個命令中創建包含概念性主題和API主題的靜態網站。
DocFX可以在Linux,macOS和Windows上運行。生成的網站是純靜態的,無需任何其他配置即可部署到Github Pages,Azure網站或任何Web主機。
DocFX提供了靈活的自定義模板方式
並且它是由.NET core開發的,並由 .NET core文檔使用。
我使用以下代碼和註釋構建了文檔: DocFx。然後,我將該文檔作為靜態網站發佈在GitHub頁面上。它很小,易於使用和集成,但仍然功能強大。
您可能會對其他人推薦的其他文檔生成器感興趣:
(簡介取自他們的官方網站,聽起來像是廣告。但我沒有以任何方式對其進行宣傳。)
GhostDoc是一個Visual Studio擴展,可以根據方法和屬性的類型,參數,名稱和其他上下文信息自動生成XML文檔註釋。
VSdocman是針對每個Visual Studio C#和VB開發人員的終極,快速且易於使用的.NET文檔工具。
文檔! X是自動化文檔工具和完整創作環境的結合,可用於為.NET,Web Services,數據庫,XSD Schema,COM組件和類型庫,Java和Javascript創建,發布和維護準確,專業的質量文檔。
HelpStudio是創建和發布過程,文檔和幫助系統並將其集成的最快,最簡單的方法
Doc-O-Matic是軟件源代碼文檔和幫助創作工具。 Doc-O-Matic獲取源代碼和註釋,添加概念性主題和外部輸入並從中生成文檔。
Monodoc是一組用於查看和編輯Mono類庫文檔的庫和應用程序。
從XML註釋和.NET庫中輕鬆快速地生成多種格式的API文檔。實時查看文檔。免費和開源。
Sandcastle幫助文件生成器自 v2017.5.15.0發行版起支持.NET Core項目。
...
- 添加了新的跨平台反射數據集文件( CrossPlatform.reflection )。這是用於所有要記錄的.NETCore和.NETStandard程序集和項目的首選框架版本設置。此外,使用此框架版本將使您可以將.NETCore,.NETStandard和.NETFramework Visual Studio項目或程序集的任意組合用作文檔來源。
...
- 固定的項目文件處理,以便它可以在使用TargetFrameworks屬性的.NETCore / .NETStandard項目中找到程序集和XML註釋文件。
...
- 對構建引擎進行了各種更新,以處理.NETCore / .NETStandard項目和跨平台反射數據集。
- 修改了構建引擎以便在確定是否排除所選反射數據集中的參考部件時比較全名。這樣,在生成反射信息時,可以將具有不同版本的同名程序集作為引用包含在內(例如.NETCore和.NETStandard框架程序集的NuGet版本)。
- 添加了對解析程序包引用的支持( .NET Core和.NET Standard項目文件中的PackageReference元素)。生成反射信息時,程序包中的所有程序集以及所有相關程序包都會自動添加為參考程序集。
...
有兩個Sandcastle項目,一個來自Microsoft的原始Sandcastle(已不再處於積極開發中)和......
...正在積極維護。在這方面,沙堡仍然是一個選擇。
另一個選擇是我最近創建的一個名為 Doxie的選擇。它建立在Aurelia之上,並使用Bootstrap,因此很容易成為主題。雖然它仍然有一些局限性,但是如果您想要開放源代碼並且相對易於使用,這可能就足夠了。並且它也適用於.NET Core程序集。
您還可以嘗試 Aistant。
這是功能齊全的服務,用於為您的產品或服務創建,管理和發布文檔。您可以自定義文檔網頁的外觀,分配自己的域,甚至嵌入到自己的網站中。
它們還具有AistDoc實用程序,該實用程序可以從XML Docs生成API參考頁面並將它們發佈到您的幫助中心網站內。
它仍然可以使用EntityFrameworkCore起作用,但是必須指定程序集引用(“ netstandard”)。如果您使用的是SandCastleUI,則可以在 Documentatio Source
下添加一個 References
單擊,您可以在以下選項之間進行選擇:1)文件/項目引用2)或 GAC 代碼>參考,您將找到以下參考:
netstandar,版本= 2.0.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35