我一直在寻找构建文档的工具。 Sandcastle很好,但似乎不适用于.NET核心项目,并且过时且有故障。

是否有任何好的替代方法可以为.NET(核心)项目生成文档?

所需功能:


可以导出静态网站。
与.NET核心具有良好的兼容性。
易于使用某些模板技术进行自定义
可以自动生成相关类型/类之间的链接
支持XML注释


#1 楼

经过一段时间的搜索,我找到了一个完美的替代方法。

DocFX

主要功能:

源代码网站
/>
DocFX直接从.NET源代码生成API文档。您可以在源代码的“三斜杠注释”中使用Markdown语法。它甚至允许您使用Markdown文件向API文档添加其他主题。当然,也支持纯Markdown文件。您可以在一个命令中创建包含概念性主题和API主题的静态网站。

在任何地方运行

DocFX可以在Linux,macOS和Windows上运行。生成的网站是纯静态的,无需任何其他配置即可部署到Github Pages,Azure网站或任何Web主机。

轻松自定义

DocFX提供了一种灵活的方法来轻松地自定义模板和主题。

它是使用.NET core开发的,并由.NET core文档使用。

我使用DocFx从代码和注释中构建了文档。然后,我将该文档作为静态网站发布在GitHub页面上。它很小,易于使用和集成,但仍然功能强大。


您可能对其他人推荐的其他文档生成器感兴趣:

(引言来自他们的官方网站,听起来像是广告。但我不会以任何方式对其进行推广。)

GhostDoc


GhostDoc是一个Visual Studio扩展,可以自动生成基于方法和属性的类型,参数,名称和其他上下文信息的XML文档注释。


VSdocman



VSdocman是最终的,适用于每个Visual Studio C#和VB开发人员的快速且易于使用的.NET文档工具。


文档! X


文件! X是自动化文档工具和完整创作环境的结合,可用于为.NET,Web Services,数据库,XSD Schema,COM组件和类型库,Java和Javascript创建,发布和维护准确,专业的质量文档。


HelpStudio


HelpStudio是创建和发布过程,文档和帮助系统并将其与桌面集成的最快,最简单的方法, Web或移动应用程序或组件。


doc-o-matic


Doc-O-Matic是软件源代码文档,可帮助创作工具。 Doc-O-Matic获取源代码和注释,添加概念性主题和外部输入并从中生成文档。


monodoc


Monodoc是一组用于查看和编辑Mono类库文档的库和应用程序。


Live Documenter


快速简便地从XML注释和.NET库生成多种格式的API文档。实时查看文档。免费和开源。


#2 楼

Sandcastle帮助File Builder从v2017.5.15.0版本开始支持.NET Core项目。


版本说明
2017.5.15.0

...


添加了一个新的跨平台反射数据集文件(CrossPlatform.reflection)。这是用于所有要记录的.NETCore和.NETStandard
程序集和项目的首选
框架版本设置。此外,使用此框架版本的
将允许您使用.NETCore,.NETStandard和.NETFramework Visual Studio项目或
程序集的任意组合作为文档源。

。 ..


固定的项目文件处理,以便它可以在使用
TargetFrameworks属性的.NETCore / .NETStandard项目中找到程序集和XML注释文件。

...


对生成引擎进行了各种更新,以处理.NETCore / .NETStandard项目和跨平台反射数据。
修改了构建引擎,以便在确定是否排除所选反射数据集中的参考装配件时比较全名。这允许在生成反射信息时将具有不同版本的同名
程序集作为引用包含在内,即
(即.NETCore
和.NETStandard框架程序集的NuGet版本)。 >添加了对解析.NET Core和.NET Standard项目
文件中的包引用(PackageReference元素)的支持。生成反射时,该包中的所有程序集和任何相关程序包
都会自动添加为参考程序集。

...
...


#3 楼

有两个Sandcastle项目,一个来自Microsoft的原始Sandcastle,将不再进行积极开发,另一个是...

Sandcastle帮助文件生成器

...保持。在这方面,沙堡仍然是一种选择。

评论


感谢您的回答。我知道该项目,但我应该说它仍然不支持NET核心项目。看到这个问题。

– zwcloud
17年2月5日在15:34

嗯,很高兴知道,您提到的DocFX看起来很有希望。

–martinstoeckli
17年2月5日在18:00

#4 楼

另一个选择是我最近创建的一个名为Doxie的选择。它建立在Aurelia之上,并使用Bootstrap,因此很容易成为主题。尽管它仍然有一些局限性,但是如果您想要某种开源且相对易于使用的东西,这可能就足够了。并且它也适用于.NET Core程序集。

#5 楼

您也可以尝试Aistant。
这是功能齐全的服务,用于为您的产品或服务创建,管理和发布文档。您可以自定义文档网页的外观,分配自己的域,甚至嵌入到自己的网站中。

它们还具有AistDoc实用程序,可从XML Docs生成API参考页并将其发布到内部您的帮助中心网站。

#6 楼

它仍然可以使用EntityFrameworkCore起作用,但是您必须指定程序集引用(“ netstandard”)。如果您使用的是SandCastleUI,则可以在Documentatio Source下添加一个References单击,以便您可以在以下参考之间进行选择:
1)文件/项目参考
2)或GAC参考:

netstandar, Version=2.0.0.0, Culture= neutral, PublicKeyToken=31bf3856ad364e35