Partager via


Utilisation de Microsoft XML Serializer Generator sur .NET Core

Ce didacticiel montre comment utiliser Microsoft XML Serializer Generator dans une application C# .NET Core. Au cours de ce didacticiel, vous apprenez à :

  • Guide pratique pour créer une application .NET Core
  • Guide pratique pour ajouter une référence au package Microsoft.XmlSerializer.Generator
  • Guide pratique pour modifier votre fichier MyApp.csproj afin d’ajouter des dépendances
  • Guide pratique pour ajouter une classe et un XmlSerializer
  • Guide pratique pour générer et exécuter l’application

Comme l’outil XML Serializer Generator (sgen.exe) pour le .NET Framework, le package NuGet Microsoft.XmlSerializer.Generator est l’équivalent pour les projets .NET Core 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 pendant la sérialisation ou la désérialisation des objets de ces types avec XmlSerializer.

Prérequis

Pour suivre ce tutoriel :

Conseil

Vous avez besoin d’installer un éditeur de code ? Essayez Visual Studio !

Utiliser Microsoft XML Serializer Generator dans une application console .NET Core

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

Créer une application console .NET Core

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

dotnet new console

Ajouter une référence au package Microsoft.XmlSerializer.Generator dans le projet MyApp

Utilisez la commande dotnet add package pour ajouter la référence dans votre projet.

Tapez :

dotnet add package Microsoft.XmlSerializer.Generator -v 1.0.0

Vérifier les modifications apportées à MyApp.csproj après l’ajout du package

Ouvrez votre éditeur de code et c’est parti ! Nous travaillons encore à partir du répertoire MyApp dans lequel nous avons créé l’application.

Ouvrez MyApp.csproj dans votre éditeur de texte.

Après l’exécution de la commande dotnet add package, les lignes suivantes sont ajoutées à votre fichier projet MyApp.csproj :

<ItemGroup>
   <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="1.0.0" />
</ItemGroup>

Ajouter une autre section ItemGroup pour la prise en charge de l’outil d’interface CLI .NET

Ajoutez les lignes suivantes après la section ItemGroup que nous avons inspectée :

<ItemGroup>
   <DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="1.0.0" />
</ItemGroup>

Ajouter une classe dans l’application

Ouvrez Program.cs dans votre éditeur de texte. Ajoutez la classe nommée MyClass dans Program.cs.

public class MyClass
{
   public int Value;
}

Créer un XmlSerializer pour MyClass

Ajoutez la ligne suivante à l’intérieur de Main pour créer un XmlSerializer pour MyClass :

var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));

Génération et exécution de l’application

Toujours dans le dossier MyApp, exécutez l’application avec dotnet run. Elle se charge automatiquement et utilise les sérialiseurs prégénérés au moment de l’exécution.

Tapez la commande suivante dans la fenêtre de console :

dotnet run

Notes

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

Important

Les commandes et les étapes indiquées dans ce didacticiel pour exécuter votre application sont utilisées uniquement au moment du développement. Une fois que vous êtes prêt à déployer votre application, consultez les différentes stratégies de déploiement pour les applications .NET Core et la commande dotnet publish.

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

Félicitations ! Vous venez de :

  • Créer une application .NET Core
  • Ajouter une référence au package Microsoft.XmlSerializer.Generator
  • Modifier votre fichier MyApp.csproj pour ajouter des dépendances
  • Ajouter une classe et un XmlSerializer
  • Générer et exécuter l’application

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

Ajoutez le code XML suivant à votre fichier 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>