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 .NET (Core), zobacz Użyj Microsoft XML Serializer Generator w .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