C#命令列編輯器csc.exe

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.