Инструмент создания XML-сериализатора (Sgen.exe)

Инструмент создания XML-сериализатора создает сборку XML-сериализации для типов в указанной сборке. Сборка сериализации повышает производительность XmlSerializer при запуске, когда выполняется сериализация или десериализация объектов указанных типов.

Синтаксис

Запустите инструмент из командной строки.

sgen [options]  

Совет

Чтобы средства платформа .NET Framework правильно функционировали, необходимо использовать командную строку разработчика Visual Studio или Visual Studio Developer PowerShell или правильно задать PathIncludeпеременные среды и Lib переменные среды. Чтобы задать эти переменные среды, запустите SDKVars.bat, расположенную в каталоге <SDK>\<version>\Bin.

Параметры

Вариант Описание
/a[ssembly]:filename Создает код сериализации для всех типов, содержащихся в сборке, или исполняемого файла имя_файла. Можно указать только одно имя файла. Если этот аргумент повторяется, используется последнее имя файла.
/c[ompiler]:параметры Задает параметры, которые следует передать компилятору C#. Поддерживаются все параметры csc.exe по мере их передачи компилятору. Этот параметр можно использовать для указания того, что сборка должна быть подписана, и для указания файла ключа.
/d[ebug] Создает образ, который может использоваться с отладчиком.
/f[orce] Принудительно перезаписывает существующую сборку с одинаковым именем. Значение по умолчанию — false.
/help или /? Отображает синтаксис команд и параметров программы.
/k[eep] Предотвращает удаление созданных исходных файлов и других временных файлов после их компиляции в сборку сериализации. Этот параметр можно использовать, чтобы определить, создает ли инструмент код сериализации для определенного типа.
/n[ologo] Отключает отображение эмблемы Майкрософт при запуске.
/o[ut]:path Определяет каталог, в которой сохраняется созданная сборка. Примечание. Имя созданной сборки представляет собой имя входной сборки и "xmlSerializers.dll".
/p[roxytypes] Создает код сериализации только для типов прокси XML-веб-службы.
/r[eference]:assemblyfiles Задает сборки, на которые ссылаются типы, требующие XML-сериализации. Принимает несколько файлов сборки, которые разделяются запятыми.
/s[ilent] Запрещает отображение сообщений об успешно выполненных операциях.
/t[ype]:type Создает код сериализации только для указанного типа.
/v[erbose] Отображает подробную выходную информацию для отладки. Содержит список типов из целевой сборки, которые невозможно сериализовать с помощью XmlSerializer.
/? Отображает синтаксис команд и параметров программы.

Замечания

Если генератор XML-сериализатора не используется, XmlSerializer создает код сериализации и сборку сериализации для каждого типа при каждом запуске приложения. Для повышения производительности при запуске XML-сериализации используйте инструмент Sgen.exe, чтобы создать эти сборки заранее. Эти сборки можно развернуть вместе с приложением.

Инструмент создания XML-сериализатора также повышает производительность клиентов, использующих прокси XML-веб-служб для связи с серверами, поскольку производительность процесса сериализации не снижается при первой загрузке типа.

Эти созданные сборки нельзя использовать на стороне сервера веб-службы. Этот инструмент предназначен только для клиентов веб-служб и сценариев ручной сериализации.

Если сборка, содержащая сериализуемый тип, называется "MyType.dll", связанная сборка сериализации будет называться "MyType.XmlSerializers.dll".

Примечание.

Средство sgen несовместимо с средствами установки только для инициализации. Средство завершится ошибкой, если целевая сборка содержит все общедоступные свойства, использующие эту функцию.

Примеры

Следующая команда создает сборку с именем "Data.XmlSerializers.dll" для сериализации всех типов, содержащихся в сборке с именем "Data.dll".

sgen Data.dll

Код, для которого требуется сериализация и десериализация типов в Data.dll, может содержать ссылки на сборку Data.XmlSerializers.dll.

См. также