0

5MB dll を出力するプロジェクトの XmlSerializers アセンブリを生成しようとしています。このプロジェクトには、異なる .Net 名前空間を持つ同じ名前のクラスが多数あるため、sgen はエラー メッセージ「名前空間の最上位の XML 要素 'XXXX' は、個別の型 XXXX および XXXX を参照しています。

そこで、すべての繰り返しクラスの XmlTypeAttribute に TypeName プロパティを追加しています。問題は、SGEN コマンドを実行するたびに、フィードバックが表示されるまでに少なくとも 15 分かかることです。

何か提案はありますか?

ありがとう。

4

1 に答える 1

1

sgen はシングル スレッド ツールであり、2 つのフェーズで実行されます。最初のフェーズでは、シリアル化アセンブリのソース コードを生成し、2 番目のフェーズでは、生成されたアセンブリをコンパイルします。

クラスをいくつかのアセンブリ (CPU コアの数に等しい) に分割してコンパイルし、アセンブリごとに sgen を並行して実行し、ILMerge を使用して結果の dll を 1 つの xml シリアライザーにマージすると、パフォーマンスが向上する可能性があります。

于 2013-04-01T22:30:04.953 に答える