2012-03-23 11 views
8

xsdツールよりもsvcutilツールを推奨していますか?私は確認された声明としてそれを見なかったが、それはそうだったようだ。 私がこれ以上混乱させる理由は、両方のツールを使用してクラスを生成したためです。しかし、私はxsdを使ってより良いクラスを得ました。 XSDスキーマは、DataContractsのみで構成されます。XSDのスキーマをクラスに変換するXsd.exeまたはSvcutil.exe

私はsvcutilために、次のコマンドを使用:

svcutil path-to\xyz.xsd /language:C# /dataContractOnly /importxmltypes /out:path-to\class.cs 

を。これは、希望のクラスを生成。しかし、フィールドにはXmlNode []オブジェクトのみが含まれていました。それはsvcutilがやったよりもはるかに優れたクラスを生成し

xsd.exe /c path-to\xyz.xsd /out:path-to\class.cs 

その後、私は、XSDのために、次のコマンドを使用していました。ほとんどのフィールドは必要に応じて変換されました。

私はxvdでsvcutilを使うべきだと思う理由がありますか?

答えて

5

私が知る限り、XSD.exeにはいくつかの制限があります。たとえば、クラスにDictionary<,>がある場合、XSD.exeは適切なXSDを生成できません。 DictionaryにはIXmlSerializableが実装されていません。

+0

ok。私はツールを使用して変換するいくつかの他のスキーマを持っていて、私の使い方にとってより良いものを見ています。それに応じて適切なツールを選択します。 –

2

svcutilはxml属性をサポートしていません。スキーマでそれらを使用する必要がある場合は、xsd.exeを使用する方がよいでしょう。

私は個人的にはxsd上でsvcutilを使いたいと思っています。自分が望むクラス構造を出力するためにスキーマを作成する方法を学びましたが、主に私が最初から開発しているスキーマを使っています。あらかじめ定義されたもの。

関連する問題