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 的慣用基底位址 (Base Address)。DLL 的預設基底位址是由 .NET Framework Common Language Runtime 所設定的。如需詳細資訊,請參閱 /baseaddress (C# 編譯器選項)。 |
CheckForOverflowUnderflow |
選擇性 Boolean 參數。 指定如果整數算術超出資料型別的範圍,是否會在執行階段產生例外狀況。如需詳細資訊,請參閱 /checked (C# 編譯器選項)。 |
CodePage |
選擇性 Int32 參數。 指定編譯過程中所有原始程式碼檔使用的字碼頁。如需詳細資訊,請參閱 /codepage (C# 編譯器選項)。 |
DebugType |
選擇性 String 參數。 指定偵錯類型。DebugType 可以是 full 或 pdbonly。預設值為 full,對執行的程式附加偵錯工具。指定 pdbonly 可以讓程式在偵錯工具中啟動時進行原始程式碼偵錯,但是如果執行的程式是附加到偵錯工具,則只會顯示組合語言。 這個參數會覆寫 EmitDebugInformation 參數。 如需詳細資訊,請參閱 /debug (C# 編譯器選項)。 |
DefineConstants |
選擇性 String 參數。 定義前置處理器符號。如需詳細資訊,請參閱 /define (C# 編譯器選項)。 |
DelaySign |
選擇性 Boolean 參數。 如果為 true,則指定您要完整簽章的組件。如果為 false,則指定您只要將公開金鑰 (Public Key) 放在組件中。 除非搭配 KeyFile 或 KeyContainer 參數使用,否則這個參數不具有任何效果。 如需詳細資訊,請參閱 /delaysign (C# 編譯器選項)。 |
DisabledWarnings |
選擇性 String 參數。 指定要停用的警告清單。如需詳細資訊,請參閱 /nowarn (C# 編譯器選項)。 |
DocumentationFile |
選擇性 String 參數。 將文件註解處理成 XML 檔案。如需詳細資訊,請參閱 /doc (C# 編譯器選項)。 |
EmitDebugInformation |
選擇性 Boolean 參數。 如果為 true,工作便會產生偵錯資訊並將之置於程式資料庫 (.pdb) 檔案中。如果為 false,工作就不會發出偵錯資訊。預設值為 false。如需詳細資訊,請參閱 /debug (C# 編譯器選項)。 |
ErrorReport |
選擇性 String 參數。 提供對 Microsoft 報告 C# 內部錯誤的便利方法。這個參數可以具有 prompt、send 或 none 的值。如果參數設為 prompt,當發生內部編譯器錯誤時,您就會收到提示。此提示可讓您以電子郵件的方式將錯誤報告傳送至 Microsoft。如果參數設為 send,會自動傳送錯誤報告。如果參數設為 none,就只會以編譯器的文字輸出來報告錯誤。預設值為 none。如需詳細資訊,請參閱 /errorreport (C# 編譯器選項)。 |
FileAlignment |
選擇性 Int32 參數。 指定輸出檔的區段大小。如需詳細資訊,請參閱 /filealign (C# 編譯器選項)。 |
GenerateFullPaths |
選擇性 Boolean 參數。 如果為 true,便會在編譯器輸出中指定檔案的絕對路徑。如果為 false,則會指定檔案的名稱。預設值為 false。如需詳細資訊,請參閱 /fullpaths (C# 編譯器選項)。 |
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 參數。 指定此模組所屬的組件 (Assembly) 名稱。 |
NoConfig |
選擇性 Boolean 參數。 如果為 true,則告知編譯器不要以 csc.rsp 檔進行編譯。如需詳細資訊,請參閱 /noconfig (C# 編譯器選項)。 |
NoLogo |
選擇性 Boolean 參數。 如果為 true,則隱藏編譯器橫幅資訊的顯示。如需詳細資訊,請參閱 /nologo (C# 編譯器選項)。 |
NoStandardLib |
選擇性 Boolean 參數。 如果為 true,則會防止匯入定義整個系統命名空間的 mscorlib.dll。如果您要定義或建立自己的系統命名空間和物件,請使用這個參數。如需詳細資訊,請參閱 /nostdlib (C# 編譯器選項)。 |
NoWin32Manifest |
選擇性 Boolean 參數。 如果為 true,則不包括預設 Win32 資訊清單。 |
Optimize |
選擇性 Boolean 參數。 如果為 true,便會啟用最佳化。如果為 false,便會停用最佳化。如需詳細資訊,請參閱 /optimize (C# 編譯器選項)。 |
OutputAssembly |
選擇性 String 輸出參數。 指定輸出檔名稱。如需詳細資訊,請參閱 /out (C# 編譯器選項)。 |
PdbFile |
選擇性 String 參數。 指定偵錯資訊檔名稱。預設名稱是具有 .pdb 副檔名的輸出檔案名稱。 |
Platform |
選擇性 String 參數。 指定做為輸出檔目標的處理器平台。這個參數可以具有 x86、x64 或 anycpu 的值。預設值為 anycpu。如需詳細資訊,請參閱 /platform (C# 編譯器選項)。 |
References |
選擇性 ITaskItem[] 參數。 使工作從指定的項目將公用型別資訊匯入到目前的專案。如需詳細資訊,請參閱 /reference (C# 編譯器選項)。 您可以藉由將中繼資料 Aliases 加入到原始的 "Reference" 項目,在 MSBuild 檔案中指定 Visual C# 參考別名。例如,若要透過下面這個 CSC 命令列來設定別名 "LS1":
您可以使用:
|
Resources |
選擇性 ITaskItem[] 參數。 將 .NET Framework 資源嵌入輸出檔中。 傳入此參數的項目中可以含有名為 LogicalName 和 Access 的選擇性中繼資料項目。LogicalName 對應 /resource 參數 (Switch) 的 identifier 參數 (Parameter),而 Access 則對應 accessibility-modifier 參數 (Parameter)。如需詳細資訊,請參閱 /resource (C# 編譯器選項)。 |
ResponseFiles |
選擇性 String 參數。 指定含有這個工作命令的回應檔 (Response File)。如需詳細資訊,請參閱 @ (C# 編譯器選項)。 |
Sources |
選擇性 ITaskItem[] 參數。 指定一個或多個 Visual C# 原始程式檔 (Source File)。 |
TargetType |
選擇性 String 參數。 指定輸出檔的檔案格式。這個參數可以具有 library 值 (建立程式碼程式庫)、exe 值 (建立主控台應用程式)、module 值 (建立模組),或是 winexe 值 (建立 Windows 程式)。預設值是 library。如需詳細資訊,請參閱 /target (C# 編譯器選項)。 |
TreatWarningsAsErrors |
選擇性 Boolean 參數。 如果為 true,則將所有警告都視為錯誤。如需詳細資訊,請參閱 /warnaserror (C# 編譯器選項)。 |
UseHostCompilerIfAvailable |
選擇性 Boolean 參數。 指示工作使用同處理序 (In-Process) 編譯器物件 (如果有)。僅供 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# 編譯器選項)。 |
備註
除了以上列出的參數之外,此項工作還會繼承 Microsoft.Build.Tasks.ManagedCompiler 類別中的參數,而該類別本身又繼承 ToolTaskExtension 類別,後者再繼承自 ToolTask 類別。如需這些錯誤碼的清單及其說明,請參閱 ToolTaskExtension 基底類別。
範例
下列範例使用 Csc 工作,從 Compile 項目集合中的原始程式檔編譯出可執行檔。
<CSC
Sources="@(Compile)"
OutputAssembly="$(AppName).exe"
EmitDebugInformation="true" />