2009-03-12 6 views
2

フォーク、svcutilがC#ファイルからドキュメントを取得するようにしますか?

私は新しいWCFサービスを作成しており、私のサービスインターフェイスから始めました。さて、私もSomethingRequestとSomethingResponseメッセージを記述し、別のファイルにいくつかのデータコントラクトを作成し

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); 
    } 

:のようになります。

私は自分のプロジェクトをコンパイルし、DLLからメタデータ(WSDLとXSD)を抽出するためにsvcutil.exeを起動しましたが、私のコメントと説明をWSDLに取り込む方法があるかどうかは分かりません。/XSDを/ノードに追加します。

もう1つのあいまいなsvcutil.exeパラメータがないのですか、このドキュメントをメタデータに自動的に生成する方法はありませんか?

編集:OK、Marc Gravellの答えに基づいて、コメントとドキュメントの文字列はコンパイルされたDLLにも、MEXメタデータ交換プロトコル(pity!)でも使用できません。

それ以降:サービスにアクセスするために必要な情報を第三者に提供する必要がある場合、WCFサービスをどのように文書化しますか? 「NService」または「Sandcastle for WCF」ツールは、WCFサービスライブラリをスキャンして、アノテーションを含むソースコードからWSDLとXSDを構築しますか?

は、ツールと、これを行う方法の全体の多くを見つけることができないよう - 私の大きな驚きに、正直....

マルク・

答えて

3

svcutil.exeは、「MEX」APIを消費しますメタデータのサブセットにのみアクセスできます。コメントは含まれていません(また、IIRCは[DescriptionAttribute]です)。

外部のドキュメント(ヘルプページ/デッドツリー)を使用する必要があります。もう1つのオプション(純粋なSOA規則のいくつかを破っていますが)は、エンティティ/インタフェースをdll + xmlで出荷することです。 svcutil(およびIDE)は、既存のアセンブリから一致する型を再利用できます。

+0

ありがとうございます - サービスライブラリのソースを解析し、それらのクラスからアノテーション付きWSDLとXSDを生成するスタンドアロンツールまたはVSプラグインを知っている人は誰ですか? –

関連する問題