XML Serializer Generator-verktyget (Sgen.exe)
XML Serializer Generator skapar en XML-serialiseringssammansättning för typer i en angiven sammansättning. Serialiseringssammansättningen förbättrar startprestandan för en XmlSerializer när den serialiserar eller deserialiserar objekt av de angivna typerna.
Kommentar
Det här verktyget är specifikt för .NET Framework-sammansättningar. Information om hur du skapar XML-serialiserare för .NET-sammansättningar (Core) finns i Använda Microsoft XML Serializer Generator på .NET Core.
Syntax
Kör verktyget från kommandoraden.
sgen [options]
Dricks
För att .NET Framework-verktyg ska fungera korrekt måste du antingen använda Visual Studio Developer Command Prompt eller Visual Studio Developer PowerShell eller ange Path
miljövariablerna , Include
och Lib
korrekt. Om du vill ange dessa miljövariabler kör du SDKVars.bat, som finns i <katalogen SDK>\<version>\Bin .
Parametrar
Alternativ | Description |
---|---|
/a[ssembly]:filename | Genererar serialiseringskod för alla typer som ingår i sammansättningen eller körbar filnamn. Endast ett filnamn kan anges. Om det här argumentet upprepas används namnet på den sista filen. |
/c[ompiler]:options | Anger vilka alternativ som ska skickas till C#-kompilatorn. Alla csc.exe alternativ stöds när de skickas till kompilatorn. Detta kan användas för att ange att sammansättningen ska signeras och för att ange nyckelfilen. |
/d[ebug] | Genererar en avbildning som kan användas med ett felsökningsprogram. |
/f[orce] | Tvingar överskrivningen av en befintlig sammansättning med samma namn. Standardvärdet är falskt. |
/help eller /? | Visar kommandosyntax och alternativ för verktyget. |
/k[eep] | Undertrycker borttagningen av de genererade källfilerna och andra temporära filer efter att de har kompilerats till serialiseringssammansättningen. Detta kan användas för att avgöra om verktyget genererar serialiseringskod för en viss typ. |
/n[ologo] | Undertrycker visningen av Microsoft-startbanderollen. |
/o[ut]:path | Anger i vilken katalog den genererade sammansättningen ska sparas. Obs! Namnet på den genererade sammansättningen består av namnet på indatasammansättningen plus "xmlSerializers.dll". |
/p[roxytypes] | Genererar endast serialiseringskod för XML-webbtjänstproxytyperna. |
/r[eference]:assemblyfiles | Anger de sammansättningar som refereras av de typer som kräver XML-serialisering. Accepterar flera sammansättningsfiler avgränsade med kommatecken. |
/s[ilent] | Undertrycker visning av lyckade meddelanden. |
/t[ype]:type | Genererar endast serialiseringskod för den angivna typen. |
/v[erbose] | Visar utförliga utdata för felsökning. Listar typer från målsammansättningen som inte kan serialiseras med XmlSerializer. |
/? | Visar kommandosyntax och alternativ för verktyget. |
Kommentarer
När XML-serialiserargeneratorn inte används XmlSerializer genererar serialiseringskoden och en serialiseringssammansättning för varje typ varje gång ett program körs. Om du vill förbättra prestandan för XML-serialiseringsstart använder du verktyget Sgen.exe för att generera dessa sammansättningar i förväg. Dessa sammansättningar kan sedan distribueras med programmet.
XML-serialiserargeneratorn kan också förbättra prestandan för klienter som använder XML-webbtjänstproxy för att kommunicera med servrar, eftersom serialiseringsprocessen inte ger prestanda när typen läses in första gången.
De genererade sammansättningarna kan inte användas på serversidan för en webbtjänst. Det här verktyget är endast för webbtjänstklienter och manuella serialiseringsscenarier.
Kommentar
Verktyget sgen
är inte kompatibelt med init-only setters. Verktyget misslyckas om målsammansättningen innehåller offentliga egenskaper som använder den här funktionen.
Namngivning
Om sammansättningen som innehåller den typ som ska serialiseras heter MyType.dll namnges den associerade serialiseringssammansättningen MyType.XmlSerializers.dll.
Exempel
Följande kommando skapar en sammansättning med namnet Data.XmlSerializers.dll för serialisering av alla typer som ingår i sammansättningen med namnet Data.dll.
sgen Data.dll
Den Data.XmlSerializers.dll sammansättningen kan refereras från kod som behöver serialisera och deserialisera typerna i Data.dll.