Answers:
在.NET实现中,XmlSerializer会生成一个临时程序集,用于对类进行序列化/反序列化(出于性能原因)。它既可以即时生成(但每次执行都需要时间),也可以在编译过程中预先生成并保存在您要的程序集中。
您可以更改项目选项这种行为(标签编译 - > 高级编译选项 - > 生成序列化组件,自动或在分别)。项目文件中的对应元素是GenerateSerializationAssemblies,例如<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
。
Auto
,但是只有一个创建了序列化DLL。
**Generate Serialization Assemblies** Specifies whether the compiler will use the XML Serializer Generator Tool (Sgen.exe) to create XML serialization assemblies. Serialization assemblies can improve the startup performance of XmlSerializer if you have used that class to serialize types in your code. By default, this option is set to Auto, which specifies that serialization assemblies be generated only if you have used XmlSerializer to encode types in your code to XML.
msdn.microsoft.com/en-us/library/kb4wyys2.aspx
仅供参考。阻止XmlSerializers.dll自动生成的确切步骤是:
*.XmlSerializers.dll
使用Sgen.exe [XML序列化器生成器工具]生成
通常Sgen.exe
在Project的Build Post事件中使用。查看您的项目是否有一个生成后事件,该事件会生成*.XmlSerializers.dll