12

I was looking for a tool to build my documentation. Sandcastle is good but it seems not work for .NET core projects and is old and buggy.

Is there any good alternative that can generate docs for .NET (core) projects?

required features:

  • can export static website
  • good compatibility with .NET core.
  • easy to customize with some template techniques
  • can auto-generate the links among related types/classes
  • support XML comments
10

After searching and trying for a while, I found a perfect alternative to it.

DocFX

Main Features:

Website from Source Code

DocFX generates API documentation directly from .NET source code. You can use Markdown syntax in the Triple-Slash-Comments in source code. It even allows you to add additional topics to the API documentation using Markdown files. Of course, pure Markdown files are also supported. You can create your static website containing both conceptual topics and API topics within one command.

Run Everywhere

DocFX can run on Linux, macOS, and Windows. The generated website is pure static, and can be deployed to Github Pages, Azure Websites or any web host with no additional configurations.

Easy Customization

DocFX provides a flexible way to customize templates and themes easily.

AND it is developed with .NET core and used by .NET core docs.

I built my documentation from code and comments with DocFx. Then I published the doc as a static website on GitHub pages. It's small, easy to use and integrate but still powerful.


You may interested in other documentation generators recommended by others:

(The introduction is taken from their official websites and may sound like ads. But I'm not promoting them in any way.)

GhostDoc

GhostDoc is a Visual Studio extension that automatically generates XML documentation comments for methods and properties based on their type, parameters, name, and other contextual information.

VSdocman

VSdocman is an ultimate, fast and easy to use .NET documenting tool for every Visual Studio C# and VB developer.

Document! X

Document! X is a combination of an automated documentation tool and a full authoring environment which can be used to create, publish and maintain accurate, professional quality documentation for .NET, Web Services, Databases, XSD Schemas, COM Components and Type Libraries, Java and Javascript.

HelpStudio

HelpStudio is the fastest, easiest way to create and publish procedures, documentation and help systems and integrate them with your desktop, web or mobile applications or components.

doc-o-matic

Doc-O-Matic is a software source code documentation and Help authoring tool. Doc-O-Matic takes source code and comments, adds conceptual topics and external input and produces documentation from it.

monodoc

Monodoc is a set of libraries and applications for viewing and editing Mono class library documentation.

Live Documenter

Generate API documentation in multiple formats from XML comments and .NET libraries, fast and easy. View documentation live. Free and open source.

2

Sandcastle Help File Builder supports .NET Core projects as of the v2017.5.15.0 release.

Release notes for version 2017.5.15.0

...

  • A new cross-platform reflection data set file (CrossPlatform.reflection) was added. This is the preferred framework version setting to use for all .NETCore and .NETStandard assemblies and projects that you want to document. In addition, using this framework version will allow you to use any combination of .NETCore, .NETStandard, and .NETFramework Visual Studio projects or assemblies as documentation sources.

...

  • Fixed project file handling so that it can locate assemblies and XML comments files in .NETCore/.NETStandard projects that use the TargetFrameworks property.

...

  • Made various updates to the build engine to handle .NETCore/.NETStandard projects and the cross-platform reflection data set.
  • Modified the build engine so that it compares the full strong name when determining whether or not to exclude reference assemblies that are in the selected reflection data set. This allows for like-named assemblies with a different version to be included as references when generating reflection information (i.e. NuGet versions of the .NETCore and .NETStandard framework assemblies).
  • Added support for resolving package references (the PackageReference element) in .NET Core and .NET Standard project files. All assemblies from the package and any dependent packages are automatically added as reference assemblies when generating reflection information.

...

0

There are two Sandcastle projects, the original Sandcastle from Microsoft which is no longer under active development, and the...

Sandcastle Help File Builder

...which is actively maintained. In this regard, sandcastle is still an option.

  • Thanks for you answer. I knew the project but I should say it still not supports NET core projects. See this issue. – zwcloud Feb 5 '17 at 15:34
  • Hmm, good to know, the DocFX you mentioned looks promising. – martinstoeckli Feb 5 '17 at 18:00
0

Another alternative is one I just recently created called Doxie. It's built on Aurelia and uses Bootstrap, which makes it easily themeable. It still has some limitations though, but if you want something open source and relatively easy to use, this may be adequate.. and it works with .NET Core assemblies as well.

0

You can also try Aistant.
It's a fully-featured service for creating, managing and publishing documentation for your product or service. You can customize the look and feel of your documentation webpages, assign your own domain or even embed to your own website.

They also have AistDoc utility which allows generating API Reference pages from XML Docs and publishing them inside your help center website.

0

It still works using EntityFrameworkCore, but you must specificate an assembly reference("netstandard"). If you are using SandCastleUI so you can add under Documentatio Source a References click that allow you to choose between : 1) File/project reference 2) or GAC reference when you will find these reference:

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.