2013-04-01 82 views
0

我試圖爲輸出5MB dll的項目生成XmlSerializers程序集。這個項目有很多不同的.Net命名空間,但名稱相同的類,所以sgen會返回錯誤消息「來自命名空間的頂級XML元素'XXXX'''引用不同類型的XXXX和XXXX.在一個5MB程序集上運行sgen,其中有許多具有相同名稱的類

所以我是加入TypeName屬性的每一個重複類的XmlTypeAttribute。問題是,我每次運行SGEN命令時,它需要至少15分鐘,以顯示任何反饋。

你有什麼建議嗎?

謝謝

回答

1

sgen是一個單線程工具,它分兩個階段運行 - 首先,它生成es序列化程序集的源代碼,並在第二階段編譯生成的程序集。

如果您要將您的類分離並編譯爲多個程序集(等於CPU內核數),爲每個程序集並行運行sgen,然後使用ILMerge將生成的dll合併到一個xml序列化程序中,可能會獲得性能提升。

相關問題