如何通过XML文档注释创建网站?

6
我希望能够使用C# XML文档注释创建一个文档网站。
Python社区的一个例子。这个Scipy文档是使用一个名为Sphinx的工具从这个Python代码创建的。
对于C#项目是否有类似的东西可行?
在.NET项目中,XML文档注释的示例(不是我的),链接如下:https://github.com/haf/NodaTime/blob/master/src/NodaTime/Period.cs#L26
/// <summary>
/// Represents a period of time expressed in human chronological terms: hours, days,
/// weeks, months and so on. All implementations in Noda Time are immutable, and return fields
/// in descending size order: hours before minutes, for example.
/// </summary>
public sealed class Period : IEnumerable<DurationFieldValue>, IEquatable<Period>

编辑:我在其他问题中找到的建议是“使用Sandcastle”。从其(具有讽刺意味的有限)文档中可以看出,它只能创建Windows帮助文件(.chm)。这是正确的吗?
3个回答

7

编辑:我在其他问题中找到的建议是“使用Sandcastle”。根据它(讽刺的是有限的)文档,我所知道的是它只能创建Windows帮助文件(.chm)。这是正确的吗?

不,那不正确。Sandcastle可以构建广泛的输出。

然而,现在你真的想要Sandcastle Help-File Builder (SHFB),它会使事情变得更好。虽然不是完全没有痛苦,但还是相当不错的。SHFB的文档通常也很合理。

有趣的是,你提供了Noda Time的一个例子 - SHFB正是我们用来生成在线API参考的。


太棒了,这就是我想要制作的那种网站。我将下载SHFB并查看能达到什么程度。 - Colonel Panic
它能够工作,但速度极慢。创建一个8MB的C#项目网站需要一个小时的时间。 - Colonel Panic
@ColonelPanic:检查一下你是否已经开启了MSDN缓存。你需要它 :) 一旦开启,后续构建速度应该会快得多。当然,你也可以完全关闭MSDN链接。 - Jon Skeet

4
你也可以尝试使用sharpDox。这是另一个免费且开源的文档生成器。你可以创建HTML和CHM输出,不久还会支持Word文档。
这里有一个HTML输出的例子。
附注:我是这个工具的创建者。

2
看起来 sharpDox 已经不再维护了。 - Mike G

1

如果您想要一键解决方案,您也可以尝试我们的VSdocman


谢谢Peter。它起作用了——而且比Sandcastle/SHFB快得多。输出也很漂亮。然而,我发现Visual Studio由于这个插件而明显变慢了。 - Colonel Panic
感谢您尝试使用VSdocman。如果您不介意的话,可以直接通过http://www.helixoft.com/contact.html与我们联系,这样我们就可以在论坛之外讨论此问题了。 - Peter Macej

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接