18禁网站免费,成年人黄色视频网站,熟妇高潮一区二区在线播放,国产精品高潮呻吟AV

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

在Linux上運(yùn)行C#的方法是什么

時(shí)間: 加城1195 分享

  Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。有時(shí)我們需要在Linux上編寫程序,那么c#在Linux中想要運(yùn)行需要什么呢?這篇文章主要介紹了在Linux上運(yùn)行C#的方法,

  下面就來看看如何在Linux上運(yùn)行Mono。

  命令行應(yīng)用

  先從Mono主頁(http://www.go-mono.com/)下載軟件,執(zhí)行下面的命令安裝所有RPM:

  復(fù)制代碼 代碼如下:

  rpm -ivh *.rpm

  安裝完成后,所有基本的動(dòng)態(tài)執(zhí)行庫,包括System.Data.dll、System.dll、System.Drawing.dll、System.Web.dll和System.Xml.dll都被復(fù)制到/usr/lib下。接下來,在Linux文本編輯器中輸入下面的內(nèi)容,把文件保存為HelloMono.cs:

  復(fù)制代碼 代碼如下:

  class HelloMono

  {

  public static void Main(string[ ] args)

  { System.Console.WriteLine("Hello Mono");

  }

  }

  執(zhí)行下面的命令編譯C#文件:

  復(fù)制代碼 代碼如下:

  mcs HelloMono.cs

  mcs是Mono的C#命令行編譯器。與MS .NET SDK的csc編譯器相似,mcs也有很多命令行選項(xiàng)。上面的命令將生成可執(zhí)行文件HelloMono.exe。注意這個(gè)執(zhí)行文件不是Linux執(zhí)行文件,而是一個(gè).NET執(zhí)行文件,或者說,這個(gè)文件的可執(zhí)行代碼形式是中間語言(IL,Intermediate Language)。要運(yùn)行這個(gè)執(zhí)行文件,必須執(zhí)行如下命令:

  復(fù)制代碼 代碼如下:

  mono HelloMono.exe

  Linux控制臺(tái)上將顯示出"Hello Mono"。關(guān)于mcs和Mono的更多說明,請執(zhí)行man mcs或man mono參考其man文檔。

  GUI應(yīng)用

  Mono不支持Windows Forms,但在C#編程中可用GTK #編寫GUI。GTK #是GTK+圖形庫的C#支持工具,可從http://gtk-sharp.sourceforge.Net/下載。下載完成后,先要安裝RPM:

  復(fù)制代碼 代碼如下:

  rpm -Uvh *.rpm --nodeps

  解開gtk-sharp-0.2.1.tar.gz:

  復(fù)制代碼 代碼如下:

  tar -zxvf gtk-sharp-0.2.1.tar.gz

  進(jìn)入子目錄gtk-sharp-0.2.1,執(zhí)行:

  復(fù)制代碼 代碼如下:

  ./configure --prefix=/usr

  make

  make install

  完成這一步驟之后,重新啟動(dòng)一次。與GTK#有關(guān)的所有動(dòng)態(tài)代碼模塊(gtk-sharp.dll、atk-sharp.dll、gdk-sharp.dll、glib-sharp.dll以及pango-sharp.dll)都會(huì)被復(fù)制到/usr/lib目錄,編譯用GTK#制作GUI的C#程序時(shí),必須通過-r參數(shù)引用它們。GTK#下載包中包含了幾個(gè)示例程序,如HelloWorld.cs、Menu.cs、ButtonApp.cs等。編譯這些文件的命令如下:

  復(fù)制代碼 代碼如下:

  mcs -r gtk-sharp -r glib-sharp HelloWorld.cs

  mcs -r gtk-sharp -r glib-sharp -r System.Drawing Menu.cs

  mcs -r gtk-sharp -r glib-sharp -r System.Drawing ButtonApp.cs

  下面來看看如何通過-r選項(xiàng)引用前面各個(gè).dll動(dòng)態(tài)模塊。執(zhí)行startx命令啟動(dòng)X Window,進(jìn)入終端窗口,再進(jìn)入示例程序所在目錄,執(zhí)行下面的命令分別運(yùn)行各個(gè)程序:

  復(fù)制代碼 代碼如下:

  mono HelloWorld.exe

  mono Menu.exe

  mono ButtonApp.exe

  Mono項(xiàng)目還在完善和發(fā)展之中,還沒有移植好全部.NET類。但不管怎樣,它對許多人來說將是一個(gè)好消息。

  考慮一個(gè)典型的服務(wù)器/客戶機(jī)式.NET應(yīng)用:最終用戶只與客戶端打交道,客戶端最好是方便的GUI應(yīng)用,許多人還會(huì)希望使用熟悉的Windows平臺(tái)。但是,對于他們來說,服務(wù)器端使用Windows還是Linux完全無關(guān)。所以,服務(wù)器端可以用帶有Mono的Linux構(gòu)造,節(jié)省了配備專用Windows服務(wù)器的投資。Mono也將為應(yīng)用遷移帶來方便。如果Mono能夠順利發(fā)展,Windows開發(fā)者也將能夠?yàn)長inux或其他非Windows平臺(tái)開發(fā)應(yīng)用。如果這樣的話,不久之后出現(xiàn)一個(gè)類似Visual Studio .NET但免費(fèi)或廉價(jià)的Linux開發(fā)IDE也說不定。

  然而,所有這一切是否能夠成為現(xiàn)實(shí),依賴于Mono是否能夠茁壯發(fā)展,也依賴于Mono與Windows平臺(tái)上的.NET框架兼容或相似程度。另外一些因素也很關(guān)鍵,例如Mono的性能、GUI的友好程度等。

  補(bǔ)充:Linux基本命令

  ①ls 意為list 列出當(dāng)前文件夾中的文件

  -l 顯示文件的屬性 可用ll來表示

 ?、赼lias 別名 看看是否有別名的文件

 ?、踓d dir 跳躍目錄 -P選項(xiàng) 將路徑中的鏈接文件替換成鏈接指向的文件路徑

  ④pwd 查看當(dāng)前工作的文件夾名 使用-P的選項(xiàng),會(huì)直接進(jìn)入到其中,相當(dāng)于cd

  相關(guān)閱讀:Linuxshell腳本不執(zhí)行問題實(shí)例分析

  shell腳本不執(zhí)行問題:某天研發(fā)某同事找我說幫他看看他寫的shell腳本,死活不執(zhí)行,報(bào)錯(cuò)。我看了下,腳本很簡單,也沒有常規(guī)性的錯(cuò)誤,報(bào)“:badinterpreter:Nosuchfileordirectory”錯(cuò)??催@錯(cuò),我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務(wù)器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個(gè)^M。解決:

  1)重新在linux下編寫腳本;

  2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結(jié)果,有助于排查復(fù)雜腳本問題。


在Linux上運(yùn)行C#的方法相關(guān)文章:

1.linux命令行運(yùn)行matlab

2.如何在Windows下運(yùn)行l(wèi)inux shell腳本

3.kali linux運(yùn)行java程序

4.Linux怎么運(yùn)行.sh文件

5.在Linux上優(yōu)化Mysql運(yùn)行環(huán)境方法技巧

4017038