XML 序列化程式產生器工具 (Sgen.exe)

XML 串行化程式產生器會為指定元件中的類型建立 XML 串行化元件。 串行化元件在指定型別的物件進行串行化或還原串行化時,可以提高 XmlSerializer 的啟動效能。

備註

此工具專屬於 .NET Framework 元件。 要為.NET(核心)組件產生 XML 序列化器,請參見 在 .NET Core 使用 Microsoft XML 序列化器產生器。

語法

從命令行執行工具。

sgen [options]

小提示

若要讓 .NET Framework 工具正常運作,您必須使用 Visual Studio 開發人員命令提示字元或 Visual Studio Developer PowerShell ,或正確設定 Path、 Include和 Lib 環境變數。 若要設定這些環境變數,請執行 SDKVars.bat,其位於<SDK>\version<\>Bin 目錄中。

參數

選項 說明
/a[ssembly]:filename 針對 檔名所指定的元件或可執行檔中包含的所有型別,產生串行化程序代碼。 只能提供一個檔名。 如果重複這個參數,則會使用最後的檔案名稱。
/c[ompiler]:options 指定要傳遞至 C# 編譯程式的選項。 所有 csc.exe 選項都會在傳遞至編譯程式時受到支援。 這可用來指定應該簽署元件,以及指定密鑰檔。
/d[ebug] 產生可與調試程式搭配使用的映像。
/f[orce] 強制覆寫具有相同名稱的現有元件。 預設值為 false 。
/help 或 /? 顯示工具的命令語法和選項。
/k[eep] 抑制在編譯成序列化組件後刪除產生的原始檔案和其他暫存檔案。 這可用來判斷工具是否要針對特定類型產生串行化程序代碼。
/n[ologo] 隱藏Microsoft啟動橫幅的顯示。
/o[ut]:path 指定要在其中儲存所產生元件的目錄。 注意: 產生的元件名稱是由輸入元件的名稱加上 「xmlSerializers.dll」 所組成。
/p[roxytypes] 只針對 XML Web 服務 Proxy 類型產生串行化程式代碼。
/r[eference]:assemblyfiles 指定需要 XML 串行化之型別所參考的元件。 接受以逗號分隔的多個元件檔案。
/s[ilent] 隱藏顯示成功訊息。
/t[ype]:type 只針對指定的型別產生串行化程序代碼。
/v[erbose] 顯示詳細的偵錯輸出信息。 列出無法以 串行化之目標元件中的 XmlSerializer型別。
/? 顯示工具的命令語法和選項。

備註

不使用 XML 串行化程式產生器時,每次執行應用程式時, XmlSerializer 都會為每個類型產生串行化程式代碼和串行化元件。 若要改善 XML 串行化啟動的效能,請使用 Sgen.exe 工具來事先產生這些元件。 然後可以使用應用程式來部署這些元件。

XML 序列化程式產生器也可以改善使用 XML Web 服務代理來與伺服器進行通訊的客戶端效能,因為類型第一次載入時,序列化過程不會造成效能損失。

產生的元件無法在 Web 服務的伺服器端使用。 此工具僅適用於 Web 服務用戶端和手動串行化案例。

備註

此 sgen 工具不相容於僅初始化設置的 setter。 如果目標元件包含任何使用此功能的公用屬性,此工具將會失敗。

命名

如果包含要串行化之型別的元件名為 MyType.dll,則相關聯的串行化元件將會命名 為MyType.XmlSerializers.dll。

範例

下列命令會建立名為 Data.XmlSerializers.dll 的元件,以便串行化名為 Data.dll之元件中包含的所有類型。

sgen Data.dll

您可以在需要序列化和反序列化Data.dll型別的程式碼中引用Data.XmlSerializers.dll元件。

另請參閱