0

我正在尝试为输出 5MB dll 的项目生成 XmlSerializers 程序集。该项目有许多具有不同 .Net 命名空间但名称相同的类,因此 sgen 返回错误消息“命名空间中的顶部 XML 元素 'XXXX' 引用不同的类型 XXXX 和 XXXX。

因此,我将 TypeName 属性添加到每个重复类的 XmlTypeAttribute 中。问题是,每次我运行 SGEN 命令时,至少需要 15 分钟才能显示任何反馈。

你有什么建议吗?

谢谢。

4

1 回答 1

1

sgen 是一个单线程工具,它分两个阶段运行——首先,它生成序列化程序集的源代码,第二阶段它编译生成的程序集。

如果您将类分离并编译成几个程序集(等于 CPU 内核的数量),为每个程序集并行运行 sgen,然后使用 ILMerge 将生成的 dll 合并到一个 xml 序列化程序中,那么您可能会获得一些性能提升。

于 2013-04-01T22:30:04.953 回答