В реализации .NET XmlSerializer создает временную сборку для сериализации / десериализации ваших классов (из соображений производительности). Его можно либо сгенерировать «на лету» (но на каждое выполнение требуется время), либо предварительно сгенерировать во время компиляции и сохранить в этой сборке, о которой вы спрашиваете.
Вы можете изменить это поведение в параметрах проекта (вкладка Компиляция -> Дополнительные параметры компиляции -> Генерация сборок сериализации , Авто или на соответственно). Соответствующим элементом в файле проекта является GenerateSerializationAssemblies , например
.
Я думаю, что это JIT-компиляция XML-сериализаторов из соображений производительности.
Вы получаете то же самое с экземплярами RegEx, используя включенную опцию RegexOptions.Compiled.
Я не эксперт по .NET CLR, извините за отсутствие точных технических деталей.
*. XmlSerializers.dll
генерируются с помощью Sgen.exe [XML Serializer Generator Tool]
См. Sgen.exe в MSDN
Обычно Sgen.exe
используется в событиях Post Build проектов. Посмотрите, есть ли в вашем проекте событие после сборки, которое генерирует *. XmlSerializers.dll
FYI. Точные шаги, чтобы остановить автоматическую генерацию XmlSerializers.dll: