標籤:ar io os 使用 sp for on 檔案 資料
csc.exe是.NET Framework SDK中的一個工具,當然用VS舒服多了...
不怕麻煩或者小硬碟的可以用用看,下面是些基本編輯,編譯,調試操作(很不詳細,詳細請看MSDN :) ):
1.配置C#命令列編輯器:
我的電腦 - 屬性 - 進階 - 環境變數 - 系統變數列表對話方塊 - 雙擊Path變數 -
在當前路徑值的末尾加入(路徑變數裡各值用分號區隔): C:\Windows\Microsoft.NET\Framework\v2.0.50727 (注意,路徑和版本號碼會因為你的安裝和下載的不同而不同,自己到安裝目錄下看看)如果配置成功,在命令視窗中輸入: csc /? 將顯示C#編譯器支援的選項列表.2.配置其他.NET命令列工具:
將附加路徑變數加入系統變數列表框: C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin如果配置成功,在命令視窗中輸入:gacutil /? 查看GAC工具gacutil.exe的各個選項.3.使用csc.exe和記事本構建C#應用程式:
- 使用記事本編輯原始碼,並儲存為.cs格式,如TestApp.cs,儲存路徑C:\CscExample\
//TestApp.cs
using System;
class TestApp
{
public static void Main()
{
Console.WriteLine("Testing!");
}
}
- 開啟cmd,轉到源檔案儲存的目錄
- 輸入命令: csc /target:exe TestApp.cs 將TestApp.cs編譯成名為TestApp.exe的console應用程式C#編譯器的輸出選項(詳細查閱相關手冊或MSDN):
選項 作用
------------------------------------------------------------------------------------------------------------------
/out 該選項用於指定被構建出的程式集的名字。預設條件下,程式集的名字或者與最初輸入的*.cs檔案名稱字相同(產生
*.dll檔案的情況下),或者與包含程式的Main()方法的那個類型的名字相同(產生*.exe檔案的情況下)
------------------------------------------------------------------------------------------------------------------
/target:exe 本選項構建一個可執行檔控制台應用程式。這是預設的檔案輸出類型,並且在建立該應用程式類型時可被忽略。
------------------------------------------------------------------------------------------------------------------
/target:library 本選項構建一個單一檔案*.dll程式集。
------------------------------------------------------------------------------------------------------------------
/target:module 本選項構建一個模組(module)。所謂模組是指組成多檔案程式集的元素。
------------------------------------------------------------------------------------------------------------------
/target:winexe 本選項構建一個可執行檔windows應用程式,儘管使用/target:exe也能建立表單應用程式,但本選項建立的程式
運行時不會有控制視窗出現在案頭背景上。
------------------------------------------------------------------------------------------------------------------4.引用外部程式集:
修改TestApp.cs,顯示一個Windows表單訊息框:
//TestApp.cs
using System;
using System.Windows.Forms;class TestApp
{
public static void Main()
{
Console.WriteLine("Testing!");
MessageBox.Show("Hello!");
}
}
在命令列中,必須通知csc.exe,哪個程式集包含了“所用的“命名空間。因此,必須使用/reference標誌指定System.Windows.Forms.dllcsc /reference:System.Windows.Forms.dll TestApp.cs5.使用csc.exe編譯多個源檔案:
- 顯式的列出各個匯入檔案來編譯C#檔案: csc /r:System.Windows.Forms.dll TestApp.cs HelloMsg.cs
- 使用萬用字元(*)通知csc.exe: csc /r:System.Windows.Forms.dll *.cs
//TestApp.cs
using System;class TestApp
{
public static void Main()
{
Console.WriteLine("Testing!");
HelloMessage h = new HelloMessage();
h.Speak();
}
}//HelloMsg.cs
using System;
using System.Windows.Forms;class HelloMessage
{
public void Speak()
{
MessageBox.Show("Hello!");
}
}6.引用多個外部程式集:
- 使用分號列出各個程式集: csc /r:System.Windows.Forms.dll;System.Drawing.dll *.cs7.使用csc.exe回應檔(respose file):
- C#回應檔包含了在當前構建的編譯期間要用到的所有指令,通常約定,回應檔的副檔名為*.rsp
- 回應檔中注釋使用“#”字元標識
- 在編譯指令中回應檔前加@符號: csc @TestApp.rsp
- /reference標誌具有累加性,而其他標誌(如/out)將用後面的命令覆蓋前面的命令
- 可以指定多個回應檔作為輸入(例如csc @FirstFile.rsp @SecondFile.rsp @ThirdFile.rsp)
- 也可混合使用回應檔和標誌(例如csc /out:TestApp.exe @TestApp.rsp)# 建立4中TestApp.exe的回應檔 TestApp.rsp
#
# 外部程式集引用
/r:System.Windows.Forms.dll
#
# 用於編譯的輸出和檔案
/target:exe /out:TestApp.exe *.cs8.預設的回應檔csc.rsp:
- C#編譯器有一個相關聯的預設回應檔csc.rsp, 該回應檔與csc.exe在同一目錄.
- 當用csc.exe構建C#程式時,該檔案將自動被引用(即使提供了自訂*.rsp檔案時)
- 要取消自動讀取csc.rsp,可以指定 /noconfig 選項
################################################################################
命令列調試器(cordbg.exe):- 使用cordbg /? 查看調試器提供的標誌選項部分有用的cordbg.exe命令列標誌:
標誌(全稱/縮寫) 作用
----------------------------------------------------
b[reak] 設定或顯示當前斷點
del[ete] 去除一個或多個斷點
ex[it] 退出調試器
g[o] 繼續調試當前進程直至發現下一個斷點
o[ut] 退出當前函數
p[rint] 列印所有載入的變數(局部,實參等)
si 進入下一行
so 越過下一行
----------------------------------------------------
在命令列進行調試:
- 給應用程式產生調式資料: csc @TestApp.rsp /debug , 將產生一個名為TestApp.pdb的關聯檔案
- 將欲調試的.NET程式集指定為命令列實參,進入偵錯模式(*.pdb檔案將被自動載入: cordbg.exe TestApp.exe
- 使用cordbg.exe命令列標誌進行調試
C#命令列編輯器csc.exe