Использование генератора сериализатора XML Microsoft в .NET

В этом руководстве описано, как использовать генератор сериализатора XML в приложении C#. В ходе работы с этим руководством вы узнаете:

  • Создание консольного приложения .NET
  • Добавление ссылки на пакет Microsoft.XmlSerializer.Generator
  • Как редактировать MyApp.csproj, чтобы добавить зависимости
  • Как добавить класс и XmlSerializer
  • Как создать и запустить приложение

Как и генератор сериализатора XML (sgen.exe) для платформы .NET Framework, пакет NuGet Microsoft.XmlSerializer.Generator является эквивалентом для современных версий .NET. Он создает сборку для сериализации XML типов, содержащихся в сборке, чтобы повысить производительность при запуске сериализации или десериализации объектов этих типов с использованием XmlSerializer.

Предпосылки

Чтобы завершить работу с этим руководством, выполните указанные ниже действия.

  • .NET 8 SDK или более поздней версии.
  • Любимый редактор кода.

Подсказка

Требуется установить редактор кода? Попробуйте Visual Studio.

В следующих инструкциях показано, как использовать генератор сериализатора XML в консольном приложении .NET.

Создание приложения

  1. Откройте командную строку и создайте папку с именем MyApp. Перейдите к созданной папке и введите следующую команду:

    dotnet new console
    
  2. Добавьте ссылку на пакет Microsoft.XmlSerializer.Generator.

    dotnet add package Microsoft.XmlSerializer.Generator -v 10.0.0
    

    После выполнения этой команды в файл проекта MyApp.csproj добавляются следующие строки:

    <ItemGroup>
       <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="10.0.0" />
    </ItemGroup>
    
  3. Откройте Program.cs в текстовом редакторе. Добавьте класс с именем MyClass в Program.cs.

    public class MyClass
    {
       public int Value;
    }
    
  4. XmlSerializer Создайте для MyClass. Добавьте следующую строку в файл Program.cs :

    var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));
    
  5. Создайте и запустите приложение. Запустите приложение с помощью dotnet run:

    dotnet run
    

    Приложение автоматически загружает и использует предварительно созданные сериализаторы во время выполнения.

    Подсказка

    dotnet run вызывает dotnet build, чтобы убедиться, что целевые объекты сборки созданы, а затем вызывает dotnet <assembly.dll> для запуска целевого приложения.

Это важно

Команды и шаги, показанные в этом руководстве для запуска приложения, используются только во время разработки. Когда вы будете готовы к развертыванию приложения, ознакомьтесь с различными стратегиями развертывания для приложений .NET и командой dotnet publish .

Если все успешно, сборка с именем MyApp.XmlSerializers.dll создается в выходной папке.

Поздравляю! У вас есть только:

  • Создано консольное приложение .NET.
  • Добавлена ссылка на пакет Microsoft.XmlSerializer.Generator.
  • Изменили MyApp.csproj, чтобы добавить зависимости.
  • Добавлен класс и xmlSerializer.
  • Постройте и запустите приложение.

Дополнительная настройка сборки сериализации XML (необязательно)

Добавьте следующий XML-код в MyApp.csproj для дальнейшей настройки создания сборок:

<PropertyGroup>
    <SGenReferences>C:\myfolder\abc.dll;C:\myfolder\def.dll</SGenReferences>
    <SGenTypes>MyApp.MyClass;MyApp.MyClass1</SGenTypes>
    <SGenProxyTypes>false</SGenProxyTypes>
    <SGenVerbose>true</SGenVerbose>
    <SGenKeyFile>mykey.snk</SGenKeyFile>
    <SGenDelaySign>true</SGenDelaySign>
</PropertyGroup>