Alat Generator Serializer XML (Sgen.exe)
Generator Serializer XML membuat rakitan serialisasi XML untuk jenis dalam rakitan tertentu. Rakitan serialisasi meningkatkan performa startup XmlSerializer saat menserialisasikan atau mendeserialisasi objek dari jenis yang ditentukan.
Catatan
Alat ini khusus untuk rakitan .NET Framework. Untuk membuat generator serializer XML untuk rakitan .NET (Core), lihat Menggunakan Microsoft XML Serializer Generator di .NET Core.
Sintaks
Jalankan alat dari baris perintah.
sgen [options]
Tip
Agar alat .NET Framework berfungsi dengan baik, Anda harus menggunakan Visual Studio Developer Command Prompt atau Visual Studio Developer PowerShell atau mengatur variabel lingkungan Path
, Include
, dan Lib
dengan benar. Untuk mengatur variabel lingkungan ini, jalankan SDKVars.bat, yang terletak di direktori <SDK>\<version>\Bin.
Parameter
Opsi | Deskripsi |
---|---|
/a[ssembly]:filename | Menghasilkan kode serialisasi untuk semua jenis yang terkandung dalam assembly atau executable yang ditentukan oleh nama file. Hanya satu nama file yang dapat disediakan. Jika argumen ini diulang, nama file terakhir digunakan. |
/c[ompiler]:options | Menentukan opsi untuk diteruskan ke pengkompilasi C#. Semua opsi csc.exe didukung saat diteruskan ke pengkompilasi. Ini dapat digunakan untuk menentukan bahwa rakitan harus ditandatangani dan untuk menentukan file kunci. |
/d[ebug] | Menghasilkan gambar yang dapat digunakan dengan debugger. |
/f[orce] | Memaksa penimpaan rakitan yang ada dengan nama yang sama. Defaultnya adalah false. |
/help atau /? | Menampilkan sintaks perintah dan opsi untuk alat ini. |
/k[eep] | Menekan penghapusan file sumber yang dihasilkan dan file sementara lainnya setelah dikompilasi ke dalam perakitan serialisasi. Ini dapat digunakan untuk menentukan apakah alat menghasilkan kode serialisasi untuk jenis tertentu. |
/n[ologo] | Menekan tampilan banner startup Microsoft. |
/o[ut]:path | Menentukan direktori untuk menyimpan rakitan yang dihasilkan. Catatan: Nama rakitan yang dihasilkan terdiri dari nama rakitan input ditambah "xmlSerializers.dll". |
/p[roxytypes] | Menghasilkan kode serialisasi hanya untuk jenis proksi layanan Web XML. |
/r[eference]:assemblyfiles | Menentukan rakitan yang direferensikan oleh jenis yang membutuhkan serialisasi XML. Menerima beberapa file rakitan yang dipisahkan oleh koma. |
/s[ilent] | Menekan tampilan pesan sukses. |
/t[ype]:type | Menghasilkan kode serialisasi hanya untuk jenis yang ditentukan. |
/v[erbose] | Menampilkan output verbose untuk penelusuran kesalahan. Mencantumkan jenis dari rakitan target yang tidak dapat diserialisasikan dengan XmlSerializer. |
/? | Menampilkan sintaks perintah dan opsi untuk alat ini. |
Keterangan
Ketika Generator Serializer XML tidak digunakan, XmlSerializer menghasilkan kode serialisasi dan rakitan serialisasi untuk setiap jenis setiap kali aplikasi dijalankan. Untuk meningkatkan performa startup serialisasi XML, gunakan alat Sgen.exe untuk menghasilkan rakitan tersebut terlebih dahulu. Rakitan ini kemudian dapat disebarkan dengan aplikasi.
Generator Serializer XML juga dapat meningkatkan performa klien yang menggunakan proksi layanan web XML untuk berkomunikasi dengan server, karena proses serialisasi tidak akan menimbulkan hit performa saat jenis dimuat pertama kali.
Rakitan yang dihasilkan tidak dapat digunakan di sisi server layanan web. Alat ini hanya untuk klien layanan web dan skenario serialisasi manual.
Catatan
Alat sgen
ini tidak kompatibel dengan setter khusus init . Alat ini akan gagal jika rakitan target berisi properti publik yang menggunakan fitur ini.
Penamaan
Jika rakitan yang berisi jenis yang akan diserialisasikan diberi nama MyType.dll, maka rakitan serialisasi terkait akan diberi nama MyType.XmlSerializers.dll.
Contoh
Perintah berikut membuat rakitan bernama Data.XmlSerializers.dll untuk menserialisasikan semua jenis yang terkandung dalam rakitan bernama Data.dll.
sgen Data.dll
Rakitan Data.XmlSerializers.dll dapat dirujuk dari kode yang perlu menserialisasikan dan mendeserialisasi jenis dalam Data.dll.