SGen 工作
針對指定組件中的型別建立 XML 序列化組件。 此工作會包裝 XML 序列化程式產生器工具 (Sgen.exe)。 如需詳細資訊,請參閱 XML 序列化程式產生器工具 (Sgen.exe)。
參數
下表說明 SGen
工作的參數。
參數 | 描述 |
---|---|
BuildAssemblyName |
必要的 String 參數。產生序列化程式碼的組件。 |
BuildAssemblyPath |
必要的 String 參數。用來產生序列化程式碼之組件的路徑。 |
DelaySign |
選擇性的 Boolean 參數。如果是 true ,則表示您只想將公開金鑰放置於組件中。 如果是 false ,即表示您想要完整的簽署組件。除非與 KeyFile 或 KeyContainer 參數搭配使用,否則此參數沒有任何作用。 |
KeyContainer |
選擇性的 String 參數。指定保留金鑰組的容器。 這樣會藉由將公開金鑰插入組件資訊清單中的方式簽署組件。 工作接著將使用私密金鑰來簽署最終組件。 |
KeyFile |
選擇性的 String 參數。指定用來簽署組件的金鑰組或公開金鑰。 編譯器會將公開金鑰插入組件資訊清單中,然後使用私密金鑰簽署最終組件。 |
Platform |
選擇性的 String 參數。取得或設定用來產生輸出組件的編譯器平台。 此參數可以具有 x86 、x64 或 anycpu 的值。 預設值為 anycpu 。 |
References |
選擇性的 String[] 參數。指定要求 XML 序列化的型別所參考的組件。 |
SdkToolsPath |
選擇性的 String 參數。指定 SDK 工具 (例如 resgen.exe) 的路徑。 |
SerializationAssembly |
選擇性的 ITaskItem[] 輸出參數。包含所產生的序列化組件。 |
SerializationAssemblyName |
選擇性的 String 參數。指定所產生序列化組件的名稱。 |
ShouldGenerateSerializer |
必要的 Boolean 參數。如果為 true ,SGen 工作應該產生序列化組件。 |
Timeout |
選擇性的 Int32 參數。指定時間量 (以毫秒為單位),在此時間量之後會終止工作可執行檔。 預設值是 Int.MaxValue ,表示沒有逾時期間。 |
ToolPath |
選擇性的 String 參數。指定位置,工作會從該位置載入底層可執行檔 (sgen.exe)。 如果未指定這個參數,此工作會使用 SDK 安裝路徑,此路徑對應到執行 MSBuild 之架構的版本。 |
Types |
選擇性的 String[] 參數。取得或設定產生序列化程式碼特定型別的清單。 SGen 只會針對那些型別產生序列化程式碼。 |
UseProxyTypes |
必要的 Boolean 參數。如果為 true ,SGen 工作只會為 XML Web 服務 Proxy 型別產生序列化程式碼。 |
ToolTaskExtension 參數
此工作繼承自 ToolTaskExtension 類別,該類別繼承自 ToolTask 類別,而其本身繼承自 Task 類別。 此繼承鏈結將數個參數加入至從它們衍生的工作。
下表說明基底類別的參數:
參數 | 描述 |
---|---|
EchoOff | 選擇性的 bool 參數。當設定為 true 時,此工作會將 /Q 傳遞至 cmd.exe 命令列,使命令列不會被複製到 stdout。 |
EnvironmentVariables | 選擇性 String 陣列參數。環境變數定義的陣列 (以分號分隔)。 每個定義都應該指定以等號分隔的環境變數名稱和值。 這些變數是在規則環境區塊以外傳遞至繁衍的可執行檔,或選擇性地覆寫。 例如: Variable1=Value1;Variable2=Value2 。 |
ExitCode | 選擇性 Int32 輸出唯讀參數。指定已執行命令提供的結束代碼。 如果工作已記錄任何錯誤,但是此程序具有結束代碼 0 (成功),這會設為 -1。 |
LogStandardErrorAsError | 選擇性的 bool 參數。如果為 true ,則標準錯誤資料流上收到的所有訊息都會記錄為錯誤。 |
StandardErrorImportance | 選擇性的 String 參數。用來從標準錯誤資料流記錄文字的重要性。 |
StandardOutputImportance | 選擇性的 String 參數。用來從標準輸出資料流記錄文字的重要性。 |
Timeout | 選擇性的 Int32 參數。指定時間量 (以毫秒為單位),在此時間量之後會終止工作可執行檔。 預設值是 Int.MaxValue ,表示沒有逾時期間。 逾時是以毫秒為單位。 |
ToolExe | 選擇性的 string 參數。專案可能會實作此項目以覆寫 ToolName。 工作可能會覆寫此項目以保留 ToolName。 |
ToolPath | 選擇性的 string 參數。指定位置,工作會從該位置載入基礎可執行檔。 如果未指定這個參數,工作會使用 SDK 安裝路徑,對應於執行 MSBuild 的架構版本。 |
UseCommandProcessor | 選擇性的 bool 參數。當設為 true 時,這項工作會針對命令列建立批次檔,並且使用命令處理器來執行,而不是直接執行命令。 |
YieldDuringToolExecution | 選擇性的 bool 參數。當設為 true 時,這項工作在執行其工作時,會產生節點。 |