Csc 工作
包裝 csc.exe,並產生可執行檔 (.exe 檔案)、動態連結程式庫 (.dll 檔案) 或程式碼模組 (.netmodule 檔案)。 如需 csc.exe 的詳細資訊,請參閱 C# 編譯器選項。
參數
下表說明 Csc
工作的參數。
參數 | 描述 |
---|---|
AdditionalLibPaths |
選擇性的 String[] 參數。指定要搜尋參考的其他目錄。 如需詳細資訊,請參閱 -lib (C# 編譯器選項)。 |
AddModules |
選擇性的 String 參數。指定要成為組件一部分的一個或多個模組。 如需詳細資訊,請參閱 -addmodule (C# 編譯器選項)。 |
AllowUnsafeBlocks |
選擇性的 Boolean 參數。如果是 true ,即會編譯使用 unsafe 關鍵字的程式碼。 如需詳細資訊,請參閱 -unsafe (C# 編譯器選項)。 |
ApplicationConfiguration |
選擇性的 String 參數。指定包含組件繫結設定的應用程式組態檔。 |
BaseAddress |
選擇性的 String 參數。指定載入 DLL 時慣用的基底位址。 DLL 的預設基底位址是由 .NET Framework Common Language Runtime 所設定。 如需詳細資訊,請參閱 -baseaddress (C# 編譯器選項)。 |
CheckForOverflowUnderflow |
選擇性的 Boolean 參數。指定超出資料類型範圍的整數算術,是否會導致在執行階段發生例外狀況。 如需詳細資訊,請參閱 -checked (C# 編譯器選項)。 |
ChecksumAlgorithm |
選擇性的 String 參數。針對儲存在 PDB 檔案中的來源檔案總和檢查碼,指定計算所用的演算法。 演算法必須是 SHA1 (預設) 或 SHA256。 請參閱 ChecksumAlgorithm。 |
CodeAnalysisRuleset |
選擇性的 String 參數。 指定停用特定診斷的規則集檔案。 請參閱 CodeAnalysisRuleset。 |
CodePage |
選擇性的 Int32 參數。指定編譯過程中所有原始程式碼檔使用的字碼頁。 如需詳細資訊,請參閱 -codepage (C# 編譯器選項)。 |
DebugType |
選擇性的 String 參數。指定偵錯類型。 DebugType 可以是 full 或 pdbonly 。 預設值是 full ,會將偵錯工具附加至執行中的程式。 指定 pdbonly ,讓原始程式碼在偵錯工具中啟動程式時進行偵錯,但只有在將執行中的程式附加到偵錯工具時,才會顯示組譯工具。此參數會覆寫 EmitDebugInformation 參數。如需詳細資訊,請參閱 -debug (C# 編譯器選項)。 |
DefineConstants |
選擇性的 String 參數。定義前置處理器符號。 如需詳細資訊,請參閱 -define (C# 編譯器選項)。 |
DelaySign |
選擇性的 Boolean 參數。如果是 true ,則表示您只想將公開金鑰放置於組件中。 如果是 false ,即表示您想要完整的簽署組件除非與 KeyFile 或 KeyContainer 參數搭配使用,否則此參數沒有任何作用。如需詳細資訊,請參閱 -delaysign (C# 編譯器選項)。 |
Deterministic |
選擇性的 Boolean 參數。若為 true ,可讓編譯器輸出在輸入相同時編譯之間二進位內容相同的組件。如需詳細資訊,請參閱 -deterministic (C# 編譯器選項)。 |
DisabledWarnings |
選擇性的 String 參數。指定要停用的警告清單。 如需詳細資訊,請參閱 -nowarn (C# 編譯器選項)。 |
DocumentationFile |
選擇性的 String 參數。將文件註解處理成 XML 檔案。 如需詳細資訊,請參閱 -doc (C# 編譯器選項)。 |
EmbedAllSources |
選擇性的 Boolean 參數。在 PDB 中內嵌所有來源檔案。 如需詳細資訊,請參閱 -embed (C# 編譯器選項) |
EmitDebugInformation |
選擇性的 Boolean 參數。如果是 true ,工作就會產生偵錯資訊,並將其放在程式資料庫 (.pdb) 檔案中。 如果是 false ,工作就不會發出任何偵錯資訊。 預設值為 false 。 如需詳細資訊,請參閱 -debug (C# 編譯器選項)。 |
ErrorLog |
選擇性的 String 參數。指定檔案,記錄所有編譯器和分析器的診斷資料。 請參閱 ErrorLog。 |
ErrorReport |
選擇性的 String 參數。提供將 C# 內部錯誤回報給 Microsoft 的便利方式。 此參數可以具有 prompt 、send 或 none 的值。 如果將此參數設為 prompt ,您將會在編譯器內部錯誤發生時收到提示。 此提示可讓您以電子方式將錯誤報告傳送給 Microsoft。 如果將此參數設為 send ,就會自動傳送錯誤報告。 如果將此參數設為 none ,則只會在編譯器的文字輸出中報告錯誤。 預設值為 none 。 如需詳細資訊,請參閱 -errorreport (C# 編譯器選項)。 |
FileAlignment |
選擇性的 Int32 參數。指定輸出檔案中區段的大小。 如需詳細資訊,請參閱 -filealign (C# 編譯器選項)。 |
GenerateFullPaths |
選擇性的 Boolean 參數。如果是 true ,即會在編譯器輸出中指定檔案的絕對路徑。 如果是 false ,則會指定檔案的名稱。 預設值為 false 。 如需詳細資訊,請參閱 -fullpaths (C# 編譯器選項)。 |
HighEntropyVA |
選擇性的 Boolean 參數啟用高熵位址空間配置隨機化 (ASLR)。 請參閱 HighEntropyVA。 |
KeyContainer |
選擇性的 String 參數。指定密碼編譯金鑰容器的名稱。 如需詳細資訊,請參閱 -keycontainer (C# 編譯器選項)。 |
KeyFile |
選擇性的 String 參數。指定包含密碼編譯金鑰的檔名。 如需詳細資訊,請參閱 -keyfile (C# 編譯器選項)。 |
LangVersion |
選擇性的 String 參數。指定要使用的語言版本。 如需詳細資訊,請參閱 -langversion (C# 編譯器選項)。 |
LinkResources |
選擇性的 ITaskItem[] 參數。在輸出檔中建立 .NET Framework 資源的連結;不要將資源檔放置於輸出檔中。 傳遞到此參數的項目可以具備名為 LogicalName 和 Access 的選擇性中繼資料項目。 LogicalName 會對應至 /linkresource 參數 (Switch) 的 identifier 參數 (Parameter),而 Access 會對應至 accessibility-modifier 參數 (Parameter)。 如需詳細資訊,請參閱 -linkresource (C# 編譯器選項)。 |
MainEntryPoint |
選擇性的 String 參數。指定 Main 方法的位置。 如需詳細資訊,請參閱 -main (C# 編譯器選項)。 |
ModuleAssemblyName |
選擇性的 String 參數。指定將包含此模組的組件名稱。 |
NoConfig |
選擇性的 Boolean 參數。若為 true ,即會指示編譯器不要使用 csc.rsp 檔案進行編譯。 如需詳細資訊,請參閱 -noconfig (C# 編譯器選項)。 |
NoLogo |
選擇性的 Boolean 參數。如果是 true ,即會隱藏顯示編譯器橫幅資訊。 如需詳細資訊,請參閱 -nologo (C# 編譯器選項)。 |
NoStandardLib |
選擇性的 Boolean 參數。如果是 true ,即會防止匯入 mscorlib.dll,此檔案會定義整個系統命名空間。 如果您想要定義或建立自己的系統命名空間和物件,請使用此參數。 如需詳細資訊,請參閱 -nostdlib (C# 編譯器選項)。 |
NoWin32Manifest |
選擇性的 Boolean 參數。如果是 true ,就不會包含預設的 Win32 資訊清單。 |
Nullable |
選擇性的 String 參數。指定可為 Null 的內容。 引數必須是 enable 、disable 、warnings 或 annotations 的其中一個。 請參閱可為 Null。 |
Optimize |
選擇性的 Boolean 參數。如果是 true ,即會啟用最佳化。 如果是 false ,則會停用最佳化。 如需詳細資訊,請參閱 -optimize (C# 編譯器選項)。 |
OutputAssembly |
選擇性的 String 輸出參數。指定輸出檔案的名稱。 如需詳細資訊,請參閱 -out (C# 編譯器選項)。 |
OutputRefAssembly |
選擇性的 String 參數。指定輸出參考組件檔的名稱。 如需詳細資訊,請參閱 -refout (C# 編譯器選項)。 |
PathMap |
選擇性的 String 參數。指定如何將實體路徑對應到編譯器所輸出的來源路徑名稱。 請參閱 PathMap。 |
PdbFile |
選擇性的 String 參數。指定偵錯資訊檔案名稱。 預設名稱是副檔名為 .pdb 的輸出檔案名稱。 |
Platform |
選擇性的 String 參數。指定輸出檔設為目標的處理器平台。 此參數可以具有 x86 、x64 或 anycpu 的值。 預設值為 anycpu 。 如需詳細資訊,請參閱 -platform (C# 編譯器選項)。 |
PreferredUILang |
選擇性的 String 參數。 指定 C# 編譯器顯示輸出的語言,例如錯誤訊息。 請參閱 PreferredUILang。 |
PublicSign |
選擇性的 Boolean 參數。 公開簽署輸出組件。 請參閱 PublicSign。 |
References |
選擇性的 ITaskItem[] 參數。導致工作將公用類型資訊從指定的項目匯入目前的專案。 如需詳細資訊,請參閱 -reference (C# 編譯器選項)。 您可以將中繼資料 Aliases 加入至原始的「參考」項目,藉以在 MSBuild 檔案中指定 C# 參考別名。 例如,若要在下列 Csc 命令列中設定別名 "LS1":CSC /r:LS1=MyCodeLibrary.dll /r:LS2=MyCodeLibrary2.dll *.cs 您可以使用: <Reference Include="MyCodeLibrary"> <Aliases>LS1</Aliases> </Reference> |
RefOnly |
選擇性的 Boolean 參數。產生參考組件,而非完整組件作為主要輸出。 請參閱 ProduceOnlyReferenceAssembly。 |
ReportAnalyzer |
選擇性的 Boolean 參數。回報其他分析器資訊,例如執行時間。 請參閱 ReportAnalyzer。 |
Resources |
選擇性的 ITaskItem[] 參數。將 .NET Framework 資源內嵌到輸出檔中。 傳遞到此參數的項目可以具備名為 LogicalName 和 Access 的選擇性中繼資料項目。 LogicalName 會對應至 /resource 參數 (Switch) 的 identifier 參數 (Parameter),而 Access 會對應至 accessibility-modifier 參數 (Parameter)。 如需詳細資訊,請參閱 -resource (C# 編譯器選項)。 |
ResponseFiles |
選擇性的 String 參數。指定包含適用於此工作之命令的回應檔。 如需詳細資訊,請參閱 @ (指定回應檔)。 |
Sources |
選擇性的 ITaskItem[] 參數。指定一或多個 C# 原始程式檔。 |
TargetType |
選擇性的 String 參數。指定輸出檔的檔案格式。 此參數的值如下: library (可建立程式碼程式庫)、exe (可建立主控台應用程式)、module (可建立模組) 或 winexe (可建立 Windows 程式)。 預設值是 library 。 如需詳細資訊,請參閱 -target (C# 編譯器選項)。 |
TreatWarningsAsErrors |
選擇性的 Boolean 參數。如果是 true ,即會將所有警告視為錯誤。 如需詳細資訊,請參閱 -warnaserror (C# 編譯器選項)。 |
UseHostCompilerIfAvailable |
選擇性的 Boolean 參數。如果有的話,即會指示工作來使用同處理序編譯器物件。 僅 Visual Studio 使用。 |
Utf8Output |
選擇性的 Boolean 參數。使用 UTF-8 編碼記錄編譯器輸出。 如需詳細資訊,請參閱 -utf8output (C# 編譯器選項)。 |
WarningLevel |
選擇性的 Int32 參數。指定要針對編譯器顯示的警告層級。 如需詳細資訊,請參閱 -warn (C# 編譯器選項)。 |
WarningsAsErrors |
選擇性的 String 參數。指定要視為錯誤的警告清單。 如需詳細資訊,請參閱 -warnaserror (C# 編譯器選項)。 此參數會覆寫 TreatWarningsAsErrors 參數。 |
WarningsNotAsErrors |
選擇性的 String 參數。指定不要視為錯誤的警告清單。 如需詳細資訊,請參閱 -warnaserror (C# 編譯器選項)。 唯有將 TreatWarningsAsErrors 參數設為 true 時,此參數才有用。 |
Win32Icon |
選擇性的 String 參數。在組件中插入 .ico 檔案,讓輸出檔在 [檔案總管] 中具有所需的外觀。 如需詳細資訊,請參閱 -win32icon (C# 編譯器選項)。 |
Win32Manifest |
選擇性的 String 參數。指定要包含的 Win32 資訊清單。 |
Win32Resource |
選擇性的 String 參數。將 Win32 資源檔 (.res) 插入輸出檔中。 如需詳細資訊,請參閱 -win32res (C# 編譯器選項)。 |
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 時,這項工作在執行其工作時,會產生節點。 |
範例
下列範例會使用 Csc
工作,在 Compile
項目集合中從原始程式檔編譯可執行檔。
<CSC
Sources="@(Compile)"
OutputAssembly="$(AppName).exe"
EmitDebugInformation="true" />