Xml Serializer Generator-hulpprogramma (Sgen.exe)
De XML Serializer Generator maakt een XML-serialisatieassembly voor typen in een opgegeven assembly. De serialisatieassembly verbetert de opstartprestaties van een XmlSerializer wanneer deze objecten van de opgegeven typen serialiseert of ontserialiseerd.
Notitie
Dit hulpprogramma is specifiek voor .NET Framework-assembly's. Zie Microsoft XML Serializer Generator gebruiken op .NET Core om XML-serialisatieprogramma's voor .NET Core te genereren.
Syntaxis
Voer het hulpprogramma uit vanaf de opdrachtregel.
sgen [options]
Tip
Voor een goede werking van .NET Framework-hulpprogramma's moet u Visual Studio Developer Command Prompt of Visual Studio Developer PowerShell gebruiken of de Path
, Include
en Lib
omgevingsvariabelen correct instellen. Als u deze omgevingsvariabelen wilt instellen, voert u SDKVars.bat uit. Deze bevindt zich in de <map SDK>\<version>\Bin.
Parameters
Optie | Omschrijving |
---|---|
/a[ssembly]:bestandsnaam | Hiermee genereert u serialisatiecode voor alle typen die zijn opgenomen in de assembly of het uitvoerbare bestand dat is opgegeven door de bestandsnaam. Er kan slechts één bestandsnaam worden opgegeven. Als dit argument wordt herhaald, wordt de achternaam gebruikt. |
/c[ompiler]:opties | Hiermee geeft u de opties die moeten worden doorgegeven aan de C#-compiler. Alle csc.exe opties worden ondersteund wanneer ze worden doorgegeven aan de compiler. Dit kan worden gebruikt om op te geven dat de assembly moet worden ondertekend en om het sleutelbestand op te geven. |
/d[ebug] | Hiermee wordt een afbeelding gegenereerd die kan worden gebruikt met een foutopsporingsprogramma. |
/f[orce] | Hiermee dwingt u het overschrijven van een bestaande assembly van dezelfde naam af. De standaardwaarde is onwaar. |
/help of /? | Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer. |
/k[eep] | Onderdrukt het verwijderen van de gegenereerde bronbestanden en andere tijdelijke bestanden nadat ze zijn gecompileerd in de serialisatie-assembly. Dit kan worden gebruikt om te bepalen of het hulpprogramma serialisatiecode voor een bepaald type genereert. |
/n[ologo] | Onderdrukt de weergave van de opstartbanner van Microsoft. |
/o[ut]:pad | Hiermee geeft u de map op waarin de gegenereerde assembly moet worden opgeslagen. Opmerking: de naam van de gegenereerde assembly bestaat uit de naam van de invoerassembly plus 'xmlSerializers.dll'. |
/p[roxytypes] | Hiermee genereert u alleen serialisatiecode voor de proxytypen van de XML-webservice. |
/r[eference]:assemblyfiles | Hiermee geeft u de assembly's waarnaar wordt verwezen door de typen waarvoor XML-serialisatie is vereist. Accepteert meerdere assemblybestanden gescheiden door komma's. |
/s[ilent] | Onderdrukt de weergave van geslaagde berichten. |
/t[ype]:type | Hiermee genereert u alleen serialisatiecode voor het opgegeven type. |
/v[erbose] | Geeft uitgebreide uitvoer weer voor foutopsporing. Hiermee worden typen van de doelassembly weergegeven die niet met de XmlSerializerdoelassembly kunnen worden geserialiseerd. |
/? | Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer. |
Opmerkingen
Wanneer de XML Serializer Generator niet wordt gebruikt, XmlSerializer genereert u serialisatiecode en een serialisatieassembly voor elk type telkens wanneer een toepassing wordt uitgevoerd. Als u de prestaties van het opstarten van XML-serialisatie wilt verbeteren, gebruikt u het hulpprogramma Sgen.exe om deze assembly's vooraf te genereren. Deze assembly's kunnen vervolgens worden geïmplementeerd met de toepassing.
De XML Serializer Generator kan ook de prestaties verbeteren van clients die gebruikmaken van XML-webserviceproxy's om te communiceren met servers, omdat het serialisatieproces geen prestatietreffer veroorzaakt wanneer het type de eerste keer wordt geladen.
De gegenereerde assembly's kunnen niet worden gebruikt aan de serverzijde van een webservice. Dit hulpprogramma is alleen bedoeld voor webserviceclients en handmatige serialisatiescenario's.
Notitie
Het sgen
hulpprogramma is niet compatibel met init-only setters. Het hulpprogramma mislukt als de doelassembly openbare eigenschappen bevat die gebruikmaken van deze functie.
Naamgeving
Als de assembly met het type dat moet worden geserialiseerd MyType.dll is, krijgt de bijbehorende serialisatieassembly de naam MyType.XmlSerializers.dll.
Voorbeelden
Met de volgende opdracht maakt u een assembly met de naam Data.XmlSerializers.dll voor het serialiseren van alle typen in de assembly met de naam Data.dll.
sgen Data.dll
Er kan naar de Data.XmlSerializers.dll assembly worden verwezen vanuit code die de typen in Data.dll moet serialiseren en deserialiseren.