2011-12-23 20 views
4

XSDとWSDLがあります。私はそれらからC#コードを生成したい。私はsvcutil.exeを使用しますが、それはのXSD注釈からXML-コメントを生成しません:WSDLとXSDのコメントを含む.NETクラスを生成する方法

public class SomeData 
{ 
    /// <summary> 
    /// VERY USEFULL DOCUMENTATION 
    /// </summary> 
    public string SomeField 
    {...} 
} 

もう一つの問題を::svcutil.exeを強制的にどのように生成する

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

を私は、この内部で生成されたファイルが欲しいですクラスごとに1つのファイル? (私はResharperのリファクタを使ってファイルを別々のファイルに移動できますが、私はこの解決策が気に入らないことを知っています)

XSDとWSDLのXMLコメントを使って複数のファイル

+0

なぜあなたはそれらを別々のファイルにしたいですか?これらのタイプはツールによって生成され、それらを変更するつもりはありません。 1つまたは複数のファイルに入っているかどうかは関係ありません。ファイルの内容を気にする必要はありません。 –

+0

John、私たちのコードポリシーのためにこれをしたい:) – Jarlaxle

+0

このようなポリシーは、生成されたコードには適用しないでください。ポリシーはWindowsフォームの.Designer.csファイルに適用されますか?ツールがファイルを生成し、それが人によって読み取られない場合、ほとんどのポリシーはそれらには適用されません。命名規則のポリシーは適用されますか?フィールドの名前が「javaStyleName」の場合、名前を「JavaStyleName」に変更する必要がありますか? –

答えて

4

WCFExtras + http://wcfextrasplus.codeplex.com/を使用することができます。

  1. (例えば同じディレクトリにそれらを置くことによって)svcutil.exeするWCFExtras.dllを可視ください
  2. クライアントアプリケーションのApp.configファイル、または新しい設定ファイルの場所に、このセクションを追加 SvcUtil.exe [サービスURL]/svcutilConfig:[configfile.xmlするパス]および/ svcutilConfigとsvcutilを呼び出すはconfigfile.xml上記の設定ファイルである

    <configuration> 
        <system.serviceModel> 
        <client> 
         <metadata> 
         <wsdlImporters> 
          <extension type="WCFExtras.Wsdl.Documentation.XmlCommentsImporter, WCFExtras" /> 
         </wsdlImporters> 
         </metadata> 
        </client> 
        </system.serviceModel> 
    </configuration> 
    

例えばコマンドラインを切り替えます

+3

将来の読者のために:WCFExtras名前空間がWFCExtrasPlusに変更されました。同じ名前がアセン​​ブリ名に使用されています。完全修飾名を使用している場合は、ライブラリのドキュメントページ(またはアセンブリ自体)のコメントから見つかる適切なバージョンと公開鍵トークンを使用してください。メイン文書は年月が経っても更新されておらず、公開鍵トークンとして廃止されたバージョン番号を参照しています – Maverik

+0

私のために働いていません。 Svcutil throws 'Error:ツールでエラーが発生しました。エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません。 ' –

1

私はxsd2Codeビジュアルスタジオアドインについて学びました。 Xsdアノテーション/ドキュメントのテキストをc#xmlドキュメントのサマリータグに移動して、必要なものを正確に実行します。

CodePlexにコミュニティバージョンがあります。 paid versionには他の優れた高度な機能があるので、1年間のライセンスで45ドルを支払うことにしました。注:私は会社の一部ではなく、ただ満足した顧客です。

Scott Crowder

+0

xsd2Codeが良好です。私もバージョンを支払った。それには2つの主な欠点があります:スキーマ(wsdl/contractなし)だけをサポートします。いくつかのnull可能なxml属性(10進数)はコード生成によって適切に処理されないため、手動でコード化する必要があります。 –

関連する問題