如何在沒有裝VS(Visual Studio)的機器上編譯運行C#程式

來源:互聯網
上載者:User

標籤:技術分享   需要   .text   microsoft   text   ring   idt   library   lib   

馬上就要過年了,每年過年都要回老家,使用電腦和網路就沒有這邊這麼方便了。想寫程式了,都沒有一台帶Visual Studio的機器,我也不可能給每台機器都安裝一個Visual Studio,怎麼辦呢?

網上搜尋了一下,不是說需要Visual Studio的就是說需要.net framework sdk,Visual Studio好幾個G,這個sdk也不小,1.3G,我的優盤沒法裝(優盤大小隻有1G L)

SDK其實有很多我不需要的東東,比如文檔,其實我需要的只是一個編譯器而已,於是我嘗試著把csc.exe拷到自己的優盤上,然後拷到老爸的機器上,用控制台一執行,根本無法使用!!一檢查,原來他的機器根本沒有安裝.net framework

於是我就去微軟的首頁上找到.net framework 3.5 sp1的下載連結(不是SDK)(http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe),這個還比較好,只有231M,下載安裝完畢,發現原來壓根就不用自己去拷csc.exe了,在C:/WINDOWS/Microsoft.NET/Framework/v3.5下已經有csc.exe了。哈哈!這樣一切準備齊全:有編輯器(Windows內建的記事本),有編譯器(csc.exe),也有運行環境(.net framework)

那麼怎麼來使用csc.exe編譯寫好的程式呢?

我們可以寫一個程式App.cs

using System;

using System.Windows.Forms;

 

namespace MyApplication

{

class App

{

public static void Main()

{

Application.Run(new Form());

}

}

}

儲存在C盤下。然後調出控制台(開始菜單->運行->cmd,斷行符號),在當前位置為C盤的情況下,輸入cd C:/WINDOWS/Microsoft.NET/Framework/v3.5,進入該檔案夾

輸入csc /t:winexe /r:System.dll /r:System.Windows.Forms.dll /out:C:/app.exe C:/App.cs 斷行符號

就能在C盤下看到有app.exe的檔案了,點擊運行,就能看到Form了。

這裡/t的含義是編譯得到的檔案類型,可以有4種:exe,winexe,library和module。exe表示控制台運行程式,winexe表示windows運行程式,librar為dll,module為module檔案。

/r是程式引用的dll,這裡我需要引用兩個dll:System.dll和System.Windows.Forms.dll,由於這兩個dll是.net提供的,所以無需指定路徑,如果是非系統註冊的dll,就需要指定路徑了。

/out是指定輸出的檔案,如果不指定,編譯產生的檔案會預設儲存到csc.exe所在的檔案夾下

下面我們再寫兩個檔案,將它們編譯成一個dll供App.exe調用

Test1.cs

using System;

 

namespace TestDLL

{

public class Test1

{

public String Text

{

get { return m_Text; }

set { m_Text = value; }

}

private String m_Text;

}

}

Test2.cs

using System;

 

namespace TestDLL

{

public class Test2

{

public Int32 Value

{

get { return m_Value; }

set { m_Value = value; }

}

private Int32 m_Value;

}

}

使用csc編譯成Test.dll

csc /t:library /r:System.dll /out:C:/Test.dll C:/Test1.cs C:/Test2.cs

然後修改App.cs為

using System;

using System.Windows.Forms;

using TestDLL;

 

namespace MyApplication

{

class App

{

public static void Main()

{

Test1 test1 = new Test1();

test1.Text = "This is my test form";

 

Test2 test2 = new Test2();

test2.Value = 100;

 

Form f = new Form();

f.Text = test1.Text;

f.Height = test2.Value;

 

Application.Run(f);

}

}

}

使用csc編譯為app.exe

csc /t:winexe /r:System.dll /r:System.Windows.Forms.dll /r:C:/Test.dll /out:C:/App.exe C:/App.cs

運行產生的app.exe檔案,得到的結果如下

如何在沒有裝VS(Visual Studio)的機器上編譯運行C#程式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.