2

[DataContract()] 属性でマークされていなくても、アセンブリ内のすべてのデータ型のメタデータを生成する Svcutil と /dconly オプションで問題が発生したことはありますか? また、XmlDictionaryReaderQuotas など、コードでのみ参照される型のメタデータを生成しているようにも見えますが、これらはメタデータを生成した物理アセンブリの一部ではありません。

いくつかの情報: SvcUtil の .NET 4.0 バージョンを使用します。クラスが空かどうかは関係ありません。SvcUtil のコマンド ラインで参照が指定されていません。

コマンドライン:

"C:\In Progress Work (Prospective)\Prospective Server\Prospective Server\Management\Prospective.Server.Server.NET40.Debug.AnyCPU.dll" /nologo /t:metadata /d:"C:\In Progress Work ( Prospective)\Prospective Server\Prospective Server\Management" /donly

4

1 に答える 1

0

回避策は、使用する XSD を明示的に指定することです。私の場合、それでもコマンド ラインの文字数制限を超えるには十分です。代わりに、余分な XSD をすべて削除し、SvcUtil コマンドで *.xsd を引き続き使用するコードをいくつか書きました。ただし、アセンブリ内のすべてのWCF名前空間の詳細な知識が必要なため、これは注意が必要です。

この動作は、公開されているドキュメントのいずれにも正しいと定義されていないため、Microsoft にバグ レポートを提出しました。バグ レポートを表示して投票することができます: http://connect.microsoft.com/wcf/feedback/details/641777/svcuil-with-datacontractonly-generates-xsds-for-all-types-in-assembly-データ契約属性に関係なく

于 2011-02-10T23:22:21.467 に答える