傳統編譯器直接產生機器碼。C# 編譯器 CSC.exe 分兩階段:
.cs → CSC.exe → IL 檔(.exe/.dll,含 MSIL 指令與中繼資料)。本文專注第一階段:CSC.exe 參數與開關的正確運用。
| 選項 | 用途 | 常用 |
|---|---|---|
@ | 指定回應檔(包含多選項的文字檔) | ★ |
/?, /help | 顯示編譯器選項說明 | |
/addmodule | 指定模組合併為組件 | |
/baseaddress | 指定 DLL 基底載入位址 | |
/bugreport | 產生錯誤回報檔案 | |
/checked | 整數溢位執行時例外 | ★ |
/codepage | 指定原始碼代碼頁 | |
/debug | 產生 .pdb 偵錯資訊 | ★ |
/define | 定義預處理符號 | ★ |
/doc | 產生 XML 文件檔 | ★ |
/fullpaths | 錯誤顯示完整路徑 | |
/incremental | 增量編譯 | |
/linkresource | 連結外部 .NET 資源 | |
/main | 指定 Main 方法位置 | |
/nologo | 隱藏編譯器版權資訊 | |
/nooutput | 僅編譯不產出檔案 | |
/nostdlib | 不引用 mscorlib.dll | |
/nowarn | 隱藏特定警告編號 | |
/optimize | 啟用/關閉程式碼優化 | |
/out | 指定輸出檔名 | ★ |
/recurse | 遞迴編譯子目錄 | |
/reference | 參考外部組件中繼資料 | ★ |
/target | 指定輸出類型 | ★ |
/unsafe | 允許 unsafe 代碼 | |
/warn | 設定警告等級 (0-4) | |
/warnaserror | 警告視為錯誤 | |
/win32icon | 內嵌 .ico 圖示 | |
/win32res | 內嵌 Win32 資源檔 |
後續章節將分組詳細說明各選項實戰用法。