我正在尝试使用SandCastle为WCF服务生成外部文档。我如何告诉SandCastle使用ServiceContract这样的WCF属性来命名函数和实体,而不是使用它们在程序集中的名称?
发布于 2011-08-12 18:35:48
好的,下面的内容不会直接回答你的问题,但也许它会有所帮助。
如果您说要创建“外部服务文档”,那么这个外部文档可能并不是真正为.NET开发人员准备的,您甚至可能不希望实现细节(一定)可见。因此,典型的API样式文档可能无论如何都不适合。
除了API风格的文档之外,Sandcastle还支持所谓的“概念文档”。它基本上是“自由文本”,当然是某种XML方言。我稍后再来讨论这个问题。
好的,您首先要为您的服务接口生成一个WSDL文件(通常通过将?WSDL附加到服务的URI或在您的服务组装上使用SVCUTIL.EXE,这在自动构建期间更适合)。
然后是最难的部分。您需要创建将WSDL转换为MAML文档的东西(想到的就是XML样式表)。MAML (Microsoft Assistance Language)实际上是Sandcastle使用的核心格式。
我认为你最好的办法就是使用Sandcastle Helpfile Builder从这些文件中创建项目,然后从这些文件中创建一个CHM、HTML-pages或任何东西。
基本上,一旦有了MAML文档,您就回到了“标准”Sandcastle工具链中。
我知道这听起来像是相当多的工作,而且很可能是这样的。我以前做过类似的事情,我会使用SMO查询SQL Server数据库,为表、过程等生成MAML文档,从而生成参考文档。实际上,它工作得很好,最后的努力并不是太差。
无论如何,我会一直关注这个问题,以防真的存在一个“现成”的解决方案:-)
https://stackoverflow.com/questions/5377210
复制相似问题