Dela via


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.

Anmärkning

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]

Tips/Råd

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 Pathmiljövariablerna , Includeoch Lib korrekt. För att ange dessa miljövariabler, kör SDKVars.bat, som finns i <SDK>\<version>\Bin-katalogen.

Parameterar

Alternativ Beskrivning
/a[ssembly]:filename Genererar serialiseringskod för alla typer som ingår i sammansättningen eller exekverbara filen 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 false.
/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] Dölj visningen av Microsoft-startlogotypen.
/o[ut]:path Anger i vilken katalog den genererade sammansättningen ska sparas. Not: 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.

Anmärkningar

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änstproxier för att kommunicera med servrar, eftersom serialiseringsprocessen inte påverkar prestandan negativt när typen laddas 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.

Anmärkning

Verktyget sgen är inte kompatibelt med init-endast-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, får den associerade serialiseringssammansättningen namnet 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 namnetData.dll.

sgen Data.dll

Den sammansättning Data.XmlSerializers.dll kan refereras från kod som behöver serialisera och deserialisera typerna i Data.dll.

Se även