Partager via


Utiliser le générateur de sérialiseur Microsoft XML sur .NET Core

Dans ce tutoriel, vous allez apprendre à utiliser microsoft XML Serializer Generator dans une application C#. Au cours de ce tutoriel, vous allez apprendre :

  • Création d’une application console .NET
  • Comment ajouter une référence au package Microsoft.XmlSerializer.Generator
  • Comment modifier votre MyApp.csproj pour ajouter des dépendances
  • Ajout d’une classe et d’un xmlSerializer
  • Comment générer et exécuter l’application

Comme le Xml Serializer Generator (sgen.exe) pour .NET Framework, le package NuGet Microsoft.XmlSerializer.Generator est l’équivalent pour les projets .NET Core/.NET 5+ et .NET Standard. Il crée un assembly de sérialisation XML pour les types contenus dans un assembly afin d’améliorer les performances de démarrage de la sérialisation XML lors de la sérialisation ou de la désérialisation d’objets de ces types à l’aide XmlSerializer.

Conditions préalables

Pour suivre ce tutoriel :

Conseil / Astuce

Vous devez installer un éditeur de code ? Essayez Visual Studio !

Les instructions suivantes vous montrent comment utiliser xml Serializer Generator dans une application console .NET Core.

Créer l’application

  1. Ouvrez une invite de commandes et créez un dossier nommé MyApp. Accédez au dossier que vous avez créé et tapez la commande suivante :

    dotnet new console
    
  2. Ajoutez une référence au package Microsoft.XmlSerializer.Generator.

    dotnet add package Microsoft.XmlSerializer.Generator -v 8.0.0
    

    Après avoir exécuté cette commande, les lignes suivantes sont ajoutées à votre fichier projet MyApp.csproj :

    <ItemGroup>
       <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
    </ItemGroup>
    
  3. Ajoutez une référence d’outil en ajoutant la section suivante ItemGroup à votre fichier projet.

    <ItemGroup>
       <DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
    </ItemGroup>
    
  4. Ouvrez Program.cs dans votre éditeur de texte. Ajoutez une classe nommée MyClass dans Program.cs.

    public class MyClass
    {
       public int Value;
    }
    
  5. Créez un XmlSerializer pour MyClass. Ajoutez la ligne suivante au fichier Program.cs :

    var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));
    
  6. Générez et exécutez l’application. Exécutez l’application via dotnet run:

    dotnet run
    

    L’application charge et utilise automatiquement les sérialiseurs prégénérés lors de l’exécution.

    Conseil / Astuce

    dotnet run appelle dotnet build pour s'assurer que les cibles de construction ont été générées, puis appelle dotnet <assembly.dll> pour exécuter l'application cible.

Importante

Les commandes et les étapes présentées dans ce tutoriel pour exécuter votre application sont utilisées uniquement pendant le temps de développement. Une fois que vous êtes prêt à déployer votre application, examinez les différentes stratégies de déploiement pour les applications .NET et la dotnet publish commande.

Si tout réussit, un assembly nommé MyApp.XmlSerializers.dll est généré dans le dossier de sortie.

Félicitations! Vous venez de :

  • Création d’une application console .NET.
  • Ajout d’une référence au package Microsoft.XmlSerializer.Generator.
  • Modification de votre myApp.csproj pour ajouter des dépendances.
  • Ajout d’une classe et d’un xmlSerializer.
  • Généré et exécuté l’application.

Personnaliser davantage l’assembly de sérialisation XML (facultatif)

Ajoutez le code XML suivant à votre myApp.csproj pour personnaliser davantage la génération d’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>