Compartilhar via


Usar o Gerador de Serializador XML da Microsoft no .NET Core

Neste tutorial, você aprenderá a usar o Gerador de Serializador XML da Microsoft em um aplicativo C#. Durante o curso deste tutorial, você aprenderá:

  • Como criar um aplicativo de console do .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

Assim como o Gerador de Serializador Xml (sgen.exe) para .NET Framework, o pacote NuGet Microsoft.XmlSerializer.Generator é o equivalente para projetos .NET Core/.NET 5+ e .NET Standard. Ele cria um assembly de serialização de XML para tipos contidos em um assembly a fim de melhorar o desempenho de inicialização da serialização de XML ao serializar ou desserializar objetos desses tipos usando XmlSerializer.

Pré-requisitos

Para concluir este tutorial:

Dica

Precisa instalar um editor de código? Experimente o Visual Studio!

As instruções a seguir mostram como usar o Gerador de Serializador XML em um aplicativo de console do .NET Core.

Criar o aplicativo

  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 8.0.0
    

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

    <ItemGroup>
       <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
    </ItemGroup>
    
  3. Adicione uma referência de ferramenta adicionando a seção a seguir ItemGroup ao arquivo de projeto.

    <ItemGroup>
       <DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
    </ItemGroup>
    
  4. Abra Program.cs no editor de texto. Adicione uma classe chamada MyClass em Program.cs.

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

    var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));
    
  6. Crie e execute o aplicativo. Execute o aplicativo por meio de dotnet run:

    dotnet run
    

    O aplicativo carrega e usa automaticamente os serializadores pré-gerados em runtime.

    Dica

    dotnet run chama dotnet build para garantir que os alvos de compilação foram criados e, em seguida, chama dotnet <assembly.dll> para executar o aplicativo alvo.

Importante

Os comandos e as etapas mostrados neste tutorial para executar seu aplicativo são usados somente durante o tempo de desenvolvimento. Depois de estar pronto para implantar seu aplicativo, dê uma olhada nas 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 do .NET.
  • Adicionada uma referência ao pacote Microsoft.XmlSerializer.Generator.
  • Editou seu MyApp.csproj para adicionar dependências.
  • Adicionada uma classe e um XmlSerializer.
  • Compile e execute o aplicativo.

Personalizar ainda mais a assemblagem de serialização XML (opcional)

Adicione o seguinte XML ao MyApp.csproj para personalizar ainda mais a configuração de montagem:

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