C# 編譯器選項(Visual Studio配置)

風靈使發表於2018-09-12

下列編譯器選項按類別排序。 關於按字母順序排列的列表,請參閱按字母順序列出的 C# 編譯器選項。
##優化

選項 目標
-filealign 指定輸出檔案中各節的大小。
-optimize 啟用/禁用優化。

##輸出檔案

選項 目標
-deterministic 如果輸入相同,則會導致編譯器輸出的程式集其二進位制內容在整個編譯中相同。
-doc 指定要將已處理的文件註釋寫入到的 XML 檔案。
-out 指定輸出檔案。
-pathmap 指定編譯器輸出的源路徑名的對映
/pdb 指定 .pdb 檔案的檔名和位置。
-platform 指定輸出平臺。
/preferreduilang 指定編譯器輸出的語言。
/refout 除主程式集之外,還生成引用程式集。
/refonly 生成引用程式集,而不生成主程式集。
-target 使用下列五個選項之一指定輸出檔案的格式:-target:appcontainerexe、-target:exe、-target:library、-target:module、-target:winexe 或 -target:winmdobj。
-modulename:<string> 指定源模組的名稱

##.NET Framework 程式集

選項 目標
-addmodule 指定一個或多個模組作為此程式集的一部分。
-delaysign 指示編譯器新增公鑰,但將此程式集保留為未簽名狀態。
-keycontainer 指定加密金鑰容器的名稱。
-keyfile 指定包含加密金鑰的檔名。
/lib 指定通過 -reference 的方式引用的程式集的位置。
-nostdlib 指示編譯器不匯入標準庫 (mscorlib.dll)。
-publicsign 應用公鑰而不簽名程式集,但在程式集中設定位,來表示程式集已簽名。
-reference 從包含程式集的檔案匯入後設資料。
-analyzer 從此程式集(縮寫形式:/a)執行分析器
-additionalfile 命名其他檔案,這些檔案不會直接影響程式碼生成,但可能由分析器用於生成錯誤或警告。

##除錯/錯誤檢查

選項 目標
-bugreport 建立一個檔案,其中包含可以輕鬆報告 bug 的資訊。
/checked 指定溢位資料型別邊界的整數演算法是否將導致執行時異常。
-debug 指示編譯器發出除錯資訊。
-errorreport 設定錯誤報告行為。
/fullpaths 指定編譯器輸出中檔案的絕對路徑。
-nowarn 取消編譯器對指定警告的生成。
/warn 設定警告等級。
-warnaserror 將警告提升為錯誤。
-ruleset:<file> 指定可禁用特定診斷的規則集檔案。

##前處理器

選項 目標
-define 定義前處理器符號。

##資源

選項 目標
-link 使指定程式集中的 COM 型別資訊對專案可用。
-linkresource 建立指向託管資源的連結。
-resource 將 .NET Framework 資源嵌入到輸出檔案。
-win32icon 指定要插入到輸出檔案的 .ico 檔案。
/win32res: 指定要插入到輸出檔案的 Win32 資源。

##雜項

選項 目標
@ 指定響應檔案。
-? 列出到 stdout 的編譯器選項。
-baseaddress 指定要載入 DLL 的首選基址。
-codepage 指定要用於編譯中所有原始碼檔案的內碼表。
-help 列出到 stdout 的編譯器選項。
-highentropyva 指定可執行檔案支援地址空間佈局隨機化 (ASLR)。
-langversion 指定語言版本:預設、ISO-1、ISO-2、3、4、5、6、7、7.1、7.2、7.3 或最新版
-main 指定 Main 方法的位置。
-noconfig 指示編譯器不使用 csc.rsp 進行編譯。
-nologo 禁止顯示編譯器橫幅資訊。
-recurse 搜尋要編譯的原始檔的子目錄。
-subsystemversion 指定可執行檔案可以使用的子系統的最低版本。
不安全 啟用使用 unsafe 關鍵字的程式碼編譯。
-utf8output 顯示使用 UTF-8 編碼的編譯器輸出。
-parallel[+|-] 指定是否使用併發生成 (+)。
-checksumalgorithm:<alg> 指定用於計算 PDB 中儲存的原始檔校驗和的演算法。 支援的值為:SHA1(預設值)或 SHA256。

##已過時的選項

選項 目標
-incremental 啟用增量編譯。

相關文章