在一个5MB的程序集中运行sgen,其中包含许多具有相同名称的类

本文关键字:包含许 sgen 一个 5MB 运行 集中 程序集 程序 | 更新日期: 2023-09-27 18:07:08

我正在尝试为输出5MB dll的项目生成XmlSerializers程序集。这个项目有许多类具有不同的。net命名空间,但具有相同的名称,所以sgen返回错误消息"顶级XML元素'XXXX'从命名空间"引用不同的类型XXXX和XXXX。

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

你有什么建议吗?

谢谢。

在一个5MB的程序集中运行sgen,其中包含许多具有相同名称的类

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

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