有一些 XSD 和 WSDL。我想从它们生成 C# 代码。我使用了 svcutil.exe,但它不会从 XSD 注释生成 XML 注释:

<annotation>
    <documentation>VERY USEFULL DOCUMENTATION</documentation>
</annotation>

我想要这个在生成的文件中:
public class SomeData
{
    /// <summary>
    /// VERY USEFULL DOCUMENTATION
    /// </summary>
    public string SomeField
    {...}
}

另一个问题:如何强制 svcutil.exe 为每个类生成一个文件? (我知道我可以使用 Resharper 的重构来将类移动到单独的文件中,但我不喜欢这个解决方案)

那么如何使用来自 XSD 和 WSDL 的 XML 注释生成多个文件(每个类一个文件)

最佳答案

您也许可以使用 WCFExtras+ http://wcfextrasplus.codeplex.com/

  • 使 WCFExtras.dll 对 svcutil.exe 可见(例如将它们放在同一目录中)
  • 将此部分添加到客户端应用程序的 app.config,或放置在新的配置文件中并使用/svcutilConfig 开关调用 svcutil
     <configuration>
      <system.serviceModel>
        <client>
          <metadata>
            <wsdlImporters>
              <extension type="WCFExtras.Wsdl.Documentation.XmlCommentsImporter, WCFExtras" />
            </wsdlImporters>
          </metadata>
        </client>
      </system.serviceModel>
    </configuration>
    

  • 示例命令行,其中 configfile.xml 是上面的配置文件:
    SvcUtil.exe [服务 url]/svcutilConfig:[configfile.xml 的路径]

    10-08 14:04