使用SandCastle生成WCF文档

6

我正在使用SandCastle为WCF服务生成外部文档。如何告诉SandCastle使用WCF属性(例如ServiceContract)来命名函数和实体,而不是使用它们在程序集中的名称?

1个回答

1

好的,以下内容不是直接回答你的问题,但或许会有所帮助。

如果你说你想创建“外部服务文档”,那么这份外部文档可能并不是真正面向.NET开发人员的,你甚至可能不希望该实现细节被(必要地)公开。因此,典型的API风格文档可能并不适合。

除了API风格文档之外,Sandcastle还支持所谓的“概念文档”。它基本上是“自由文本”,当然是在某种XML方言中。稍后我会再回来解释。

好的,你首先需要为你的服务接口生成一个WSDL文件(通常通过将?WSDL附加到服务的URI或使用SVCUTIL.EXE在你的服务程序集上进行更好的自动化构建)。

然后就是难点。你需要创建一个将WSDL转换为MAML文档的工具(可以考虑使用XML样式表)。MAML(Microsoft Assistance Markup Language)实际上是Sandcastle使用的核心格式。

我觉得你最好使用Sandcastle Helpfile Builder将这些文件创建为项目,以便从中创建CHM、HTML页面或其他内容。

基本上,一旦你有了MAML文档,你就回到了“标准”的Sandcastle工具链。

我知道这听起来像是相当的工作,而且可能确实如此。 我过去做过类似的事情,其中我使用SMO查询SQL Server数据库生成MAML文档,用于生成表格、程序等的参考文档。 实际上,它效果不错,在最后付出的努力也不算太大。

无论如何,我会继续关注这个问题,以防存在“现成的”解决方案 :-)


4
我最终自己编写了一些“现成的”软件,可以从DLL和代码中的XMLDoc注释生成文档。我会向我的雇主咨询是否可以将其上传至GitHub。 - Jan Jongboom
2
你是否获得了发布代码生成的权限? - Tim Cools

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