Narzędzie generatora serializatora XML (Sgen.exe)
Generator serializatora XML tworzy zestaw serializacji XML dla typów w określonym zestawie. Zestaw serializacji poprawia wydajność XmlSerializer uruchamiania elementu, gdy serializuje lub deserializuje obiekty określonych typów.
Uwaga
To narzędzie jest specyficzne dla zestawów .NET Framework. Aby generatora serializatorów XML dla zestawów platformy .NET (Core), zobacz Use Microsoft XML Serializer Generator on .NET Core (Używanie generatora serializatora XML firmy Microsoft na platformie .NET Core).
Składnia
Uruchom narzędzie z wiersza polecenia.
sgen [options]
Napiwek
Aby narzędzia .NET Framework działały prawidłowo, należy użyć wiersza polecenia dla deweloperów programu Visual Studio lub programu Visual Studio Developer PowerShell albo poprawnie ustawić Path
zmienne środowiskowe , Include
i Lib
. Aby ustawić te zmienne środowiskowe, uruchom SDKVars.bat, który znajduje się w< katalogu SDK>\<version>\Bin.
Parametry
Opcja | Opis |
---|---|
/a[ssembly]:nazwa pliku | Generuje kod serializacji dla wszystkich typów zawartych w zestawie lub pliku wykonywalnego określonym przez nazwę pliku. Można uwzględnić tylko jeden PLik. Jeśli ten argument jest powtarzany, nazwisko PLik jest używany. |
/c[ompiler]:options | Określa opcje do przekazania do kompilatora C#. Wszystkie opcje csc.exe są obsługiwane, gdy przekazywane do kompilator. To może posłużyć do określenia zestawu powinny być podpisane i określ PLik klucza. |
/d[ebug] | Generuje obrazu, który może być używany z debugera. |
/f[orce] | Wymusza zastępowanie istniejącego zestawu o tej samej nazwie. Wartość domyślna to false. |
/help lub /? | Wyświetla składnię polecenia i opcje narzędzia. |
/k[eep] | Pomija usuwanie wygenerowanych PLików źródłowych i innych PLików tymczasowych po zostały skompilowane do zestawu serializacji. To może posłużyć do określenia, czy to narzędzie jest generowania kodu serializacji dla danego typu. |
/n[ologo] | Pomija wyświetlanie baneru startowego firmy Microsoft. |
/o[ut]:path | Określa katalog, w którym chcesz zapisać wygenerowanego zestawu. Uwaga: Nazwa wygenerowanego zestawu składa się z nazwy zestawu wejściowego oraz "xmlSerializers.dll". |
/p[roxytypes] | Generuje kod serializacji tylko dla typów serwera proxy usług sieci Web XML. |
/r[eference]:assemblyfiles | Określa zestawy, które są określone przez typy wymagające serializacji XML. Akceptuje wiele plików zestawów rozdzielonych przecinkami. |
/s[ilent] | Pomija wyświetlanie komunikatów o sukcesie. |
/t[ype]:type | Generuje kod serializacji tylko dla określonego typu. |
/v[erbose] | Wyświetla pełne dane wyjściowe na potrzeby debugowania. Wyświetla listę typów z zestawu docelowego, który nie może być serializowany z XmlSerializer. |
/? | Wyświetla składnię polecenia i opcje narzędzia. |
Uwagi
Gdy generator serializatora XML nie jest używany, XmlSerializer generuje kod serializacji i zestaw serializacji dla każdego typu za każdym razem, gdy aplikacja jest uruchamiana. Aby zwiększyć wydajność uruchamiania serializacji XML, użyj narzędzia Sgen.exe, aby wygenerować te zestawy z wyprzedzeniem. Te zestawy można następnie wdrożyć za pomocą aplikacji.
Generator serializatora XML może również poprawić wydajność klientów korzystających z serwerów proxy usługi sieci Web XML do komunikowania się z serwerami, ponieważ proces serializacji nie spowoduje trafienia wydajności po pierwszym załadowaniu typu.
Wygenerowanych zestawów nie można używać po stronie serwera usługi internetowej. To narzędzie jest przeznaczone tylko dla klientów usługi internetowej i scenariuszy serializacji ręcznej.
Uwaga
Narzędzie sgen
nie jest zgodne z inicjatorami tylko do inicjowania. Narzędzie zakończy się niepowodzeniem, jeśli zestaw docelowy zawiera jakiekolwiek właściwości publiczne korzystające z tej funkcji.
Nazewnictwo
Jeśli zestaw zawierający typ do serializacji ma nazwę MyType.dll, skojarzony zestaw serializacji zostanie nazwany MyType.XmlSerializers.dll.
Przykłady
Następujące polecenie tworzy zestaw o nazwie Data.XmlSerializers.dll do serializacji wszystkich typów zawartych w zestawie o nazwie Data.dll.
sgen Data.dll
Do zestawu Data.XmlSerializers.dll można odwoływać się z kodu, który musi serializować i deserializować typy w Data.dll.