Partager via


Outil XML Serializer Generator (Sgen.exe)

Le générateur de sérialiseur XML crée un assembly de sérialisation XML pour les types dans un assembly spécifié. L’assembly de sérialisation améliore les performances de démarrage d’un XmlSerializer moment où il sérialise ou désérialise les objets des types spécifiés.

Remarque

Cet outil est spécifique aux assemblys .NET Framework. Pour créer des sérialiseurs XML pour les assemblys .NET (Core), consultez Utiliser microsoft XML Serializer Generator sur .NET Core.

Syntaxe

Exécutez l’outil à partir de la ligne de commande.

sgen [options]

Conseil / Astuce

Pour que les outils .NET Framework fonctionnent correctement, vous devez utiliser l’invite de commandes du développeur Visual Studio ou Visual Studio Developer PowerShell, ou définir correctement les variables d’environnement et Lib les PathIncludevariables d’environnement. Pour définir ces variables d’environnement, exécutez SDKVars.bat, qui se trouve dans le <répertoire SDK>\<version>\Bin .

Paramètres

Choix Descriptif
/a[ssembly] :filename Génère du code de sérialisation pour tous les types contenus dans l’assembly ou l’exécutable spécifié par nom de fichier. Un seul nom de fichier peut être fourni. Si cet argument est répété, le nom du dernier fichier est utilisé.
/c[ompiler] :options Spécifie les options à passer au compilateur C#. Toutes les options csc.exe sont prises en charge à mesure qu’elles sont transmises au compilateur. Cela peut être utilisé pour spécifier que l’assembly doit être signé et pour spécifier le fichier de clé.
/d[ebug] Génère une image qui peut être utilisée avec un débogueur.
/f[orce] Force l’écriture d’un assembly existant du même nom. La valeur par défaut est false.
/help ou / ? Affiche la syntaxe et les options de commande de l'outil.
/k[eep] Supprime la suppression des fichiers sources générés et d’autres fichiers temporaires après leur compilation dans l’assembly de sérialisation. Cela peut être utilisé pour déterminer si l’outil génère du code de sérialisation pour un type particulier.
/n[ologo] Supprime l’affichage de la bannière de démarrage Microsoft.
/o[ut] :path Spécifie le répertoire dans lequel enregistrer l’assembly généré. Note: Le nom de l’assembly généré est composé du nom de l’assembly d’entrée plus «xmlSerializers.dll».
/p[roxytypes] Génère du code de sérialisation uniquement pour les types de proxy de service web XML.
/r[eference] :assemblyfiles Spécifie les assemblys référencés par les types nécessitant une sérialisation XML. Accepte plusieurs fichiers d’assembly séparés par des virgules.
/s[ilent] Supprime l'affichage des messages indiquant la réussite des opérations.
/t[ype] :type Génère du code de sérialisation uniquement pour le type spécifié.
/v[erbose] Affiche une sortie détaillée pour le débogage. Répertorie les types de l’assembly cible qui ne peuvent pas être sérialisés avec le XmlSerializer.
/? Affiche la syntaxe et les options de commande de l'outil.

Remarques

Lorsque le générateur de sérialiseur XML n’est pas utilisé, XmlSerializer génère du code de sérialisation et un assembly de sérialisation pour chaque type chaque fois qu’une application est exécutée. Pour améliorer les performances du démarrage de sérialisation XML, utilisez l’outil Sgen.exe pour générer ces assemblys à l’avance. Ces assemblys peuvent ensuite être déployés avec l’application.

Le générateur de sérialiseur XML peut également améliorer les performances des clients qui utilisent des proxys de service web XML pour communiquer avec les serveurs, car le processus de sérialisation n’entraîne pas d’atteinte aux performances lorsque le type est chargé la première fois.

Les assemblys générés ne peuvent pas être utilisés côté serveur d’un service web. Cet outil concerne uniquement les clients de service web et les scénarios de sérialisation manuelle.

Remarque

L’outil sgen n’est pas compatible avec les setters init uniquement . L’outil échoue si l’assembly cible contient des propriétés publiques qui utilisent cette fonctionnalité.

Dénomination

Si l’assembly contenant le type à sérialiser est nommé MyType.dll, l’assembly de sérialisation associé est nommé MyType.XmlSerializers.dll.

Exemples

La commande suivante crée un assembly nommé Data.XmlSerializers.dll pour sérialiser tous les types contenus dans l’assembly nommé Data.dll.

sgen Data.dll

L’assemblyData.XmlSerializers.dll peut être référencé à partir du code qui doit sérialiser et désérialiser les types dans Data.dll.

Voir aussi