Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Генератор сериализатора XML создает сборку сериализации XML для типов в указанной сборке. Сборка сериализации повышает производительность запуска XmlSerializer когда она сериализует или десериализует объекты указанных типов.
Замечание
Это средство предназначено для сборок .NET Framework. Сведения о генераторе XML-сериализаторов для сборок .NET (Core) см. в статье Об использовании генератора сериализатора XML в .NET Core.
Синтаксис
Запустите средство из командной строки.
sgen [options]
Подсказка
Для корректной работы средств .NET Framework необходимо использовать командную строку разработчика Visual Studio или Visual Studio Developer PowerShell либо правильно задать переменные среды Path, Include и Lib. Чтобы задать эти переменные среды, запустите SDKVars.bat, расположенную в каталоге <SDK>\<version>\Bin .
Параметры
| Вариант | Описание |
|---|---|
| /a[ssembly]:filename | Создает код сериализации для всех типов, содержащихся в сборке или исполняемом файле, заданном именем файла. Можно указать только одно имя файла. Если этот аргумент повторяется, используется последнее имя файла. |
| /c[ompiler]:options | Задает параметры для передачи компилятору 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 для взаимодействия с серверами, так как процесс сериализации не приведет к повышению производительности при первой загрузке типа.
Созданные сборки нельзя использовать на стороне сервера веб-службы. Это средство предназначено только для клиентов веб-служб и сценариев сериализации вручную.
Замечание
Средство sgen несовместимо с сеттерами только для инициализации. Инструмент завершится ошибкой, если целевая сборка содержит какие-либо общедоступные свойства, использующие эту функцию.
Именование
Если сборка, содержащая тип сериализации, называется MyType.dll, связанная сборка сериализации будет называться MyType.XmlSerializers.dll.
Примеры
Следующая команда создает сборку с именемData.XmlSerializers.dll для сериализации всех типов, содержащихся в сборке с именем Data.dll.
sgen Data.dll
На сборкуData.XmlSerializers.dll можно ссылаться из кода, который должен сериализовать и десериализировать типы в Data.dll.