Udostępnij za pośrednictwem


Narzędzie generatora serializatora XML (Sgen.exe)

Generator serializatora XML tworzy zestaw serializacji XML dla typów w określonym zestawie. Komponent serializacji poprawia wydajność początkową XmlSerializer podczas serializacji lub deserializacji obiektów określonych typów.

Uwaga / Notatka

To narzędzie jest specyficzne dla zestawów .NET Framework. Aby wygenerować serializatory XML dla zestawów platformy .NET Core, zobacz Używanie generatora serializatora XML firmy Microsoft na platformie .NET Core.

Składnia

Uruchom narzędzie z wiersza polecenia.

sgen [options]

Wskazówka

Aby narzędzia .NET Framework działały prawidłowo, należy użyć Visual Studio Developer Command Prompt lub Visual Studio Developer PowerShell albo poprawnie ustawić zmienne środowiskowe Path, 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 podać tylko jedną nazwę pliku. Jeśli ten argument zostanie powtórzony, zostanie użyta nazwa ostatniego pliku.
/c[ompiler]:options Określa opcje przekazywania do kompilatora języka C#. Wszystkie opcje csc.exe są obsługiwane, ponieważ są przekazywane do kompilatora. Może to służyć do określenia, że zestaw powinien być podpisany i określić plik klucza.
/d[ebug] Generuje obraz, który może być używany z debugerem.
/f[orce] Wymusza nadpisanie 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 ich skompilowaniu do zestawu serializacji. Może to służyć do określenia, czy narzędzie generuje kod serializacji dla określonego typu.
/n[ologo] Pomija wyświetlanie baneru startowego firmy Microsoft.
/o[ut]:path Określa katalog, w którym ma być zapisywany wygenerowany zestaw. Nuta: Nazwa wygenerowanego zestawu składa się z nazwy zestawu wejściowego oraz "xmlSerializers.dll".
/p[roxytypes] Generuje kod serializacji tylko dla typów serwerów proxy usługi sieci Web XML.
/r[eference]:assemblyfiles Określa zestawy, do których odwołuje się 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 szczegółowe dane wyjściowe na potrzeby debugowania. Wyświetla listę typów z zestawu docelowego, których nie można serializować za pomocą elementu 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ść komunikacji klientów używających proxy usługi sieciowej XML do komunikacji z serwerami, ponieważ proces serializacji nie spowoduje spadku wydajności przy 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 / Notatka

Narzędzie sgen nie jest zgodne z ustawieniami 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 także