複数のXSDスキーマファイルからC#クラスを生成する最良の方法は何ですか?
一部のXSDスキーマファイルは他のファイルに依存している可能性があります。重複するC#クラスが生成されないようにしています。
XSD.EXEプログラムを使用しますが、同じコマンドラインでプログラムにスキーマのallを渡します。
例えば:
> xsd /c qbxmltypes130.xsd QBUqbxmlops130.xsd QBUqbxmlso130.xsd QBUqbxml130.xsd
次の名前のクラスを発行します:
qbxmltypes130_QBUqbxmlops130_QBUqbxmlso130_QBUqbxml130.cs
この場合、これらはQuickbooksデスクトップSDKのxsdファイルであり、最終的なファイルには、最初の3つのファイルで依存するタイプがあります。それ自体は発生しませんが、依存関係があるため、必要に応じて機能します。
コマンドラインパラメータのファイルを指定できる/parameters:<file>
スイッチがあることに注意してください。同様の理由で、あるプロジェクトで使用したことを覚えています。
XSD.EXE docにはパラメーター形式があります。
私は、MSDNドキュメントの例に少し欠けていることに気づきました。以下は、説明された問題codemeitのパラメータファイルの例です。
<xsd xmlns='http://Microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='CS' namespace='Namespace.subnamespace'>
<schema>FirstSchema.xsd</schema>
<schema>AnotherSchema.xsd</schema>
<schema>LastSchema.xsd</schema>
</generateClasses>
</xsd>