標籤:技術分享 需要 .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#程式