让svcutil从C#文件中获取文档?

时间:2009-03-12 15:25:34

标签: c# wcf documentation metadata xml-documentation

民间,

我正在创建一个新的WCF服务,并从我的服务界面开始。看起来像:

   public interface ISomethingService
    {
        /// <summary>
        /// some description
        /// </summary>
        /// <version>2.13.0</version>
        /// <copyright>2009 by myself</copyright>
        /// <author>Marc Scheuner</author>
        /// <param name="request">The request object</param>
        [OperationContract]
        SomethingResponse GetList(SomethingRequest request);
    }

现在,我还在另一个描述SomethingRequest和SomethingResponse消息的文件中创建了一些数据合同。

我编译了我的项目并启动了svcutil.exe以从DLL中提取元数据(WSDL和XSD) - 但我似乎无法弄清楚是否有办法将我的所有注释和解释都放到WSDL / XSD进入/ nodes。

我是否因为另一个模糊的svcutil.exe参数而失明,或者是否真的无法自动在元数据中生成此文档?

编辑:好的,根据Marc Gravell的回答,评论和文档字符串不在编译的DLL中,也不在MEX元数据交换协议上可用(可惜!)。

那么:如果您需要向第三方提供访问您服务所需的信息,您如何记录您的WCF服务?是否存在“NService”或“Sandcastle for WCF”工具,它将扫描我的WCF服务库并从源代码构建WSDL和XSD,包括注释?

似乎找不到很多工具和方法来做到这一点 - 老实说,让我大吃一惊....

马克

2 个答案:

答案 0 :(得分:3)

svcutil.exe使用“mex”API,只能访问元数据的子集。评论不包括在内(IIRC,[DescriptionAttribute]也不是很大。)

您可能必须依赖外部文档(即帮助页面/死树)。另一个选择(虽然它打破了许多纯SOA规则)是在dll + xml中发布实体/接口; svcutil(和IDE)可以重用现有程序集中的匹配类型。

答案 1 :(得分:0)

也许这会有所帮助: http://msdn.microsoft.com/en-us/library/aa717040.aspx

它也适用于svcutil。