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ć Pathzmienne środowiskowe , Includei 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.

Zobacz też