XmlSerializer 使用什么来编译程序集?

What does XmlSerializer use to compile assemblies?

在构建 XmlSerializer class 的实例时,XmlSerializer 使用什么实用程序来生成临时程序集?

XmlSerializer serializer = new XmlSerializer(type);

在这个构造函数中XmlSerializer在这个构造函数中使用了一些东西来编译一个临时程序集,什么?

他们使用内置的 C# 代码编译器使用 CSharpCodeProvider (which eventually calls csc)。

reference sourceSystem.CodeDom.Compiler 的存在确实表明了这一点。

一些挖掘揭示了 this line that shows the compiler

none,它在我检查的最后一个实现中专门使用了反射。

仅供参考 - .Net 4.5.1 中的实现已更改,这破坏了我的很多 Web 服务:(

您的应用程序 运行 是哪个版本的 .Net?

生成器使用了两种序列化工具。这是 MSDN 中对其的引用。

https://msdn.microsoft.com/en-us/library/bb924517%28v=vs.110%29.aspx 我相信您正在寻找

XML 序列化程序生成器工具 (Sgen.exe)