1. 程式人生 > >不裝mono,你的.NET程式照樣可以在Linux上執行!

不裝mono,你的.NET程式照樣可以在Linux上執行!

讓.NET應用程式在linux上執行,目前通用的做法就是在Linux上安裝mono,然後通過”mono your.exe“命令執行這個程式。

這種執行.net程式的辦法有兩個弱點,一個是需要客戶機安裝mono,二個是 ”mono xx.exe“ 這種命令列總讓人感到有點不太專業的味道。

那麼,有沒有辦法既不安裝mono,又能讓你的.NET程式就像c語言編譯的程式那麼,”直接“在Linux上執行呢?

為了解決.net程式特別是.net控制檯程式在Linux平臺上部署和執行的簡便性問題,我給大家準備了一個小工具,叫”AnyExec“,下面具體談談怎麼將你的.net程式與 AnyExec整合起來,形成一個可以在Linux平臺上無需安裝mono就可以獨立執行的程式系統。

一,準備:

1,由於目前只有64位的AnyExec,所以需要大家準備一臺64位Linux測試機。

2,下載 anyexec。在Linux測試機上執行命令: wget http://linuxdot.net/down/anyexec-1.1-linux_x64.tar.gz

3,解壓。執行解壓命令:tar -zxvf anyexec-1.1-linux_x64.tar.gz

4,把解壓得到的,形如“anyexec-1.1-linux_x64”這樣的資料夾名稱改為你需要的名稱,比如 myprog。命令是 mv anyexec-1.1-linux_x64 myprog。

然後進入 myprog,用ls命令可以看到有一個叫 any的程式檔案和分別名為 app、lib和bin的三個資料夾。

你可以嘗試執行一下 any,如果看到如下資訊,說明 AnyExec能夠在你的系統上正常工作。

二,整合:

1,準備一個 .NET 控制檯程式。如果沒有,可以新建一個,比如,我用VS創一個叫myprog的控制檯檔案,.NET版本選4.0或4.5。

內容是:

然後編譯出exe檔案。

2,把exe檔案上傳到 anyexec資料夾(即你已經更名為myprog資料夾)下邊名叫“app”的子資料夾中。

3,把名字叫 ”any“的可執行檔案更名,讓新檔名與你上傳到 app資料夾中的exe檔名一致(不含副檔名),如:myprog

4,試執行:

現在,您可以嘗試執行曾經叫 ”any“現在與你的程式同名(比如myprog)的這個linux程式了。

三,打包釋出:

通過以上步驟,你的程式已經與anyexec整合為一個自帶.net執行時,並且以你的程式命名的獨立的,客戶機無需安裝mono也能正常執行的程式系統了。現在,你只需要把整個資料夾做成壓縮包,就可以交給客戶使用。至於你怎麼釋出,怎麼交給客戶,怎麼讓客戶學會解壓和執行,呵呵,這肯定不是我的事了!

以上是使用 AnyExec的全部步驟。

怎麼樣,在linux上跑.net 應用程式,其實很方便吧!