Use o Microsoft XML Serializer Generator em .NET

Neste tutorial, você aprenderá a usar o Microsoft XML Serializer Generator em um aplicativo C#. Durante o curso deste tutorial, você aprende:

  • Como criar um aplicativo de console .NET
  • Como adicionar uma referência ao pacote Microsoft.XmlSerializer.Generator
  • Como editar seu MyApp.csproj para adicionar dependências
  • Como adicionar uma classe e um XmlSerializer
  • Como criar e executar o aplicativo

Tal como o Gerador de Serializadores XML (sgen.exe) para .NET Framework, o pacote NuGet Microsoft.XmlSerializer.Generator é o equivalente para o .NET moderno. Cria um conjunto de serialização XML para tipos contidos num conjunto para melhorar o desempenho inicial da serialização XML ao serializar ou desserializar objetos desses tipos usando XmlSerializer.

Pré-requisitos

Para concluir este tutorial:

  • .NET 8 SDK ou posterior.
  • Seu editor de código favorito.

Sugestão

Precisa instalar um editor de código? Tenta Visual Studio.

As instruções seguintes mostram-lhe como usar o Gerador de Serializadores XML numa aplicação de consola .NET.

Criar a aplicação

  1. Abra um prompt de comando e crie uma pasta chamada MyApp. Navegue até a pasta que você criou e digite o seguinte comando:

    dotnet new console
    
  2. Adicione uma referência ao pacote Microsoft.XmlSerializer.Generator.

    dotnet add package Microsoft.XmlSerializer.Generator -v 10.0.0
    

    Depois de executar esse comando, as seguintes linhas são adicionadas ao seu arquivo de projeto MyApp.csproj :

    <ItemGroup>
       <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="10.0.0" />
    </ItemGroup>
    
  3. Abra Program.cs no seu editor de texto. Adicione uma classe chamada MyClass no Program.cs.

    public class MyClass
    {
       public int Value;
    }
    
  4. Crie um XmlSerializer para MyClass. Adicione a seguinte linha ao arquivo Program.cs :

    var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));
    
  5. Compile e execute o aplicativo. Execute a aplicação através de dotnet run:

    dotnet run
    

    A aplicação carrega e utiliza automaticamente os serializadores pré-gerados em tempo de execução.

    Sugestão

    dotnet run chama dotnet build para garantir que os alvos de compilação tenham sido construídos e, em seguida, chama dotnet <assembly.dll> para executar a aplicação alvo.

Importante

Os comandos e etapas mostrados neste tutorial para executar seu aplicativo são usados apenas durante o tempo de desenvolvimento. Quando estiver pronto para implantar seu aplicativo, examine as diferentes estratégias de implantação para aplicativos .NET e o dotnet publish comando.

Se tudo for bem-sucedido, um assembly chamado MyApp.XmlSerializers.dll será gerado na pasta de saída.

Parabéns! Você tem apenas:

  • Criou um aplicativo de console .NET.
  • Adicionada uma referência ao pacote Microsoft.XmlSerializer.Generator.
  • Editou seu MyApp.csproj para adicionar dependências.
  • Adicionada uma classe e um XmlSerializer.
  • Construído e executado o aplicativo.

Personalize ainda mais o assembly de serialização XML (opcional)

Adicione o seguinte XML ao seu MyApp.csproj para personalizar ainda mais a geração de assembly:

<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>