Compartir a través de


Uso del generador de serializador XML de Microsoft en .NET Core

En este tutorial, aprenderá a usar el generador de serializadorES XML de Microsoft en una aplicación de C#. Durante el curso de este tutorial, aprenderá:

  • Creación de una aplicación de consola de .NET
  • Cómo agregar una referencia al paquete Microsoft.XmlSerializer.Generator
  • Cómo editar myApp.csproj para agregar dependencias
  • Cómo agregar una clase y un XmlSerializer
  • Compilación y ejecución de la aplicación

Al igual que el generador de serializador xml (sgen.exe) para .NET Framework, el paquete NuGet Microsoft.XmlSerializer.Generator es el equivalente para proyectos de .NET Core/.NET 5+ y .NET Standard. Crea un ensamblado de serialización XML para los tipos contenidos en un ensamblado para mejorar el rendimiento de inicio de la serialización XML al serializar o des serializar objetos de esos tipos mediante XmlSerializer.

Prerrequisitos

Para completar este tutorial:

Sugerencia

¿Necesita instalar un editor de código? Pruebe Visual Studio.

En las instrucciones siguientes se muestra cómo usar el generador de serializador XML en una aplicación de consola de .NET Core.

Creación de la aplicación

  1. Abra una ventana de comandos y cree una carpeta denominada MyApp. Vaya a la carpeta que creó y escriba el siguiente comando:

    dotnet new console
    
  2. Agregue una referencia al paquete Microsoft.XmlSerializer.Generator.

    dotnet add package Microsoft.XmlSerializer.Generator -v 8.0.0
    

    Después de ejecutar este comando, se agregan las líneas siguientes al archivo de proyecto MyApp.csproj :

    <ItemGroup>
       <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
    </ItemGroup>
    
  3. Agregue una referencia de herramienta agregando la siguiente ItemGroup sección al archivo del proyecto.

    <ItemGroup>
       <DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
    </ItemGroup>
    
  4. Abra Program.cs en el editor de texto. Agregue una clase denominada MyClass en Program.cs.

    public class MyClass
    {
       public int Value;
    }
    
  5. Crear un XmlSerializer para MyClass. Agregue la siguiente línea al archivo Program.cs :

    var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));
    
  6. Compile y ejecute la aplicación. Ejecute la aplicación mediante dotnet run:

    dotnet run
    

    La aplicación carga y usa automáticamente los serializadores generados previamente en tiempo de ejecución.

    Sugerencia

    dotnet run llama a dotnet build para asegurarse de que los destinos de la compilación se han creado y, después, llama a dotnet <assembly.dll> para ejecutar la aplicación de destino.

Importante

Los comandos y los pasos que se muestran en este tutorial para ejecutar la aplicación solo se usan durante el tiempo de desarrollo. Una vez que esté listo para implementar la aplicación, eche un vistazo a las distintas estrategias de implementación para las aplicaciones .NET y el dotnet publish comando .

Si todo se realiza correctamente, se genera un ensamblado denominado MyApp.XmlSerializers.dll en la carpeta de salida.

¡Felicidades! Acaba de:

  • Ha creado una aplicación de consola de .NET.
  • Se agregó una referencia al paquete Microsoft.XmlSerializer.Generator.
  • Editó myApp.csproj para agregar dependencias.
  • Se ha agregado una clase y un XmlSerializer.
  • Compila y ejecuta la aplicación.

Personalizar aún más el ensamblado de serialización XML (opcional)

Agregue el siguiente código XML a MyApp.csproj para personalizar aún más la generación de ensamblados:

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