共用方式為


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 可以是 fullpdbonly。 預設值為 full,對執行的程式附加偵錯工具。 指定 pdbonly 可以讓程式在偵錯工具中啟動時進行原始程式碼偵錯,但是如果執行的程式是附加到偵錯工具,則只會顯示組合語言。

這個參數會覆寫 EmitDebugInformation 參數。

如需詳細資訊,請參閱 /debug (C# 編譯器選項)

DefineConstants

選擇性 String 參數。

定義前置處理器符號。 如需詳細資訊,請參閱 /define (C# 編譯器選項)

DelaySign

選擇性 Boolean 參數。

如果為 true,則指定您要完整簽章的組件。 如果為 false,則指定您只要將公開金鑰 (Public Key) 放在組件中。

除非搭配 KeyFileKeyContainer 參數使用,否則這個參數不具有任何效果。

如需詳細資訊,請參閱 /delaysign (C# 編譯器選項)

DisabledWarnings

選擇性 String 參數。

指定要停用的警告清單。 如需詳細資訊,請參閱 /nowarn (C# 編譯器選項)

DocumentationFile

選擇性 String 參數。

將文件註解處理成 XML 檔案。 如需詳細資訊,請參閱 /doc (C# 編譯器選項)

EmitDebugInformation

選擇性 Boolean 參數。

如果為 true,工作便會產生偵錯資訊並將之置於程式資料庫 (.pdb) 檔案中。 如果為 false,工作就不會發出偵錯資訊。 預設值為 false。 如需詳細資訊,請參閱 /debug (C# 編譯器選項)

ErrorReport

選擇性 String 參數。

提供對 Microsoft 報告 C# 內部錯誤的便利方法。 這個參數可以具有 promptsendnone 的值。 如果參數設為 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 資源的連結,不將資源檔放置在輸出檔中。

傳入此參數的項目中可以含有名為 LogicalNameAccess 的選擇性中繼資料項目。 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 參數。

指定做為輸出檔目標的處理器平台。 這個參數可以具有 x86x64anycpu 的值。 預設值為 anycpu。 如需詳細資訊,請參閱 /platform (C# 編譯器選項)

References

選擇性 ITaskItem[] 參數。

使工作從指定的項目將公用型別資訊匯入到目前的專案。 如需詳細資訊,請參閱 /reference (C# 編譯器選項)

您可以藉由將中繼資料 Aliases 加入到原始的 "Reference" 項目,在 MSBuild 檔案中指定 Visual C# 參考別名。 例如,若要透過下面這個 CSC 命令列來設定別名 "LS1":

csc /r:LS1=MyCodeLibrary.dll /r:LS2=MyCodeLibrary2.dll *.cs

您可以使用:

<Reference Include="MyCodeLibrary">
  <Aliases>LS1</Aliases>
</Reference>

Resources

選擇性 ITaskItem[] 參數。

將 .NET Framework 資源嵌入輸出檔中。

傳入此參數的項目中可以含有名為 LogicalNameAccess 的選擇性中繼資料項目。 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" />

請參閱

概念

MSBuild 工作

其他資源

MSBuild 工作參考