XML Serializer Generator-Tool (Sgen.exe)
Das XML Serializer Generator-Tool erstellt eine XML-Serialisierungsassembly für Typen in einer angegebenen Assembly. Die Serialisierungsassembly verbessert die Startleistung einer XmlSerializer, wenn diese Objekte der angegebenen Typen serialisiert oder deserialisiert.
Hinweis
Dieses Tool ist spezifisch für .NET Framework-Assemblys. Weitere Informationen zum Erstellen von XML-Serialisierern für .NET (Core)-Assemblys finden Sie unter Verwenden des Microsoft XML Serializer Generators in .NET Core.
Syntax
Führen Sie das Tool über die Befehlszeile aus.
sgen [options]
Tipp
Damit .NET Framework Tools ordnungsgemäß funktionieren, müssen Sie entweder die Visual Studio Developer-Eingabeaufforderung oder Visual Studio Developer PowerShell verwenden oder die Umgebungsvariablen Path
, Include
und Lib
richtig festlegen. Führen Sie zum Festlegen dieser Umgebungsvariablen die Datei SDKVars.bat aus, die sich im Verzeichnis <SDK>\<version>\Bin befindet.
Parameter
Option | BESCHREIBUNG |
---|---|
/a[ssembly]:Dateiname | Generiert den Serialisierungscode für alle Typen, die in der durch filename angegebenen Assembly oder ausführbaren Datei enthalten sind. Nur ein Dateiname kann bereitgestellt werden. Bei Wiederholung dieses Arguments wird der letzte Dateiname verwendet. |
/c[ompiler]:Optionen | Gibt die Optionen für die Übergabe an den C#-Compiler an. Bei Übergabe an den Compiler werden alle csc.exe-Optionen unterstützt. Damit kann angegeben werden, dass die Assembly signiert werden soll. Außerdem kann die Schlüsseldatei angegeben werden. |
/d[ebug] | Generiert ein Image, das mit einem Debugger verwendet werden kann. |
/f[orce] | Erzwingt das Überschreiben einer vorhandenen, gleichnamigen Assembly. Der Standardwert ist FALSE. |
/help oder /? | Zeigt Befehlssyntax und Optionen für das Tool an. |
/k[eep] | Unterdrückt das Löschen der generierten Quelldateien und anderer temporärer Dateien, nachdem sie in die Serialisierungsassembly kompiliert wurden. Damit kann ermittelt werden, ob das Tool für einen bestimmten Typ Serialisierungscode generiert. |
/n[ologo] | Unterdrückt die Anzeige des Startbanners von Microsoft. |
/o[ut]:Pfad | Gibt das Verzeichnis an, in das die generierte Assembly gespeichert werden soll. Hinweis: Der Name der generierten Assembly besteht aus dem Namen der Eingabeassembly plus „xmlSerializers.dll“. |
/p[roxytypes] | Generiert Serialisierungscode nur für die Proxytypen des XML-Webdiensts. |
/r[eference]:assemblyfiles | Gibt die Assemblys an, auf die von den Typen, die XML-Serialisierung erfordern, verwiesen wird. Akzeptiert mehrere Assemblydateien, die durch Kommas getrennt werden. |
/s[ilent] | Unterdrückt die Anzeige von Erfolgsmeldungen. |
/t[ype]:type | Generiert Serialisierungscode nur für den angegebenen Typ. |
/v[erbose] | Zeigt eine ausführliche Ausgabe für das Debuggen an. Listet Typen aus der Zielassembly auf, die nicht mit XmlSerializer serialisiert werden können. |
/? | Zeigt Befehlssyntax und Optionen für das Tool an. |
Hinweise
Wenn der XML Serializer Generator nicht verwendet wird, generiert XmlSerializer bei jeder Ausführung einer Anwendung für jeden Typ Serialisierungscode und eine Serialisierungsassembly. Verwenden Sie für eine bessere Leistung beim Starten der XML-Serialisierung das Tool Sgen.exe, um die Assemblys im Voraus zu generieren. Diese Assemblys können dann zusammen mit der Anwendung bereitgestellt werden.
Mit dem XML Serializer Generator kann auch die Leistung von Clients, die zur Kommunikation mit Servern XML-Webdienstproxys verwenden, verbessert werden, da die Leistung durch den Serialisierungsprozess beim erstmaligen Laden des Typs nicht beeinträchtigt wird.
Die generierten Assemblys können nicht auf der Serverseite eines Webdiensts verwendet werden. Dieses Tool wird nur für Webdienstclients und manuelle Serialisierungsszenarien verwendet.
Hinweis
Das sgen
-Tool ist nicht mit init-only-Settern kompatibel. Die Ausführung des Tools schlägt fehl, wenn die Zielassembly öffentliche Eigenschaften enthält, die dieses Feature verwenden.
Benennung
Wenn der Name der Assembly, die den zu serialisierenden Typ enthält, MyType.dll ist, erhält die zugehörige Serialisierungsassembly den Namen MyType.XmlSerializers.dll.
Beispiele
Mit dem folgenden Befehl wird eine Assembly mit dem Namen Data.XmlSerializers.dll erstellt, um alle in der Assembly Data.dll enthaltenen Typen zu serialisieren.
sgen Data.dll
Auf die Assembly Data.XmlSerializers.dll kann vom Code verwiesen werden, der die Typen in Data.dll serialisiert und deserialisiert.