不装mono,你的.NET程序照样可以在Linux上运行
讓.NET應(yīng)用程序在linux上運(yùn)行,目前通用的做法就是在Linux上安裝mono,然后通過”mono your.exe“命令運(yùn)行這個程序。
這種運(yùn)行.net程序的辦法有兩個弱點,一個是需要客戶機(jī)安裝mono,二個是?”mono xx.exe“?這種命令行總讓人感到有點不太專業(yè)的味道。
那么,有沒有辦法既不安裝mono,又能讓你的.NET程序就像c語言編譯的程序那么,”直接“在Linux上運(yùn)行呢?
為了解決.net程序特別是.net控制臺程序在Linux平臺上部署和運(yùn)行的簡便性問題,我給大家準(zhǔn)備了一個小工具,叫”AnyExec“,下面具體談?wù)勗趺磳⒛愕?net程序與 AnyExec整合起來,形成一個可以在Linux平臺上無需安裝mono就可以獨(dú)立運(yùn)行的程序系統(tǒng)。
一,準(zhǔn)備:
1,由于目前只有64位的AnyExec,所以需要大家準(zhǔn)備一臺64位Linux測試機(jī)。
2,下載 anyexec。在Linux測試機(jī)上運(yùn)行命令: wget?http://linuxdot.net/down/anyexec-1.1-linux_x64.tar.gz
3,解壓。運(yùn)行解壓命令:tar -zxvf anyexec-1.1-linux_x64.tar.gz
4,把解壓得到的,形如“anyexec-1.1-linux_x64”這樣的文件夾名稱改為你需要的名稱,比如 myprog。命令是 mv?anyexec-1.1-linux_x64 myprog。
然后進(jìn)入 myprog,用ls命令可以看到有一個叫 any的程序文件和分別名為 app、lib和bin的三個文件夾。
你可以嘗試運(yùn)行一下 any,如果看到如下信息,說明 AnyExec能夠在你的系統(tǒng)上正常工作。
二,整合:
1,準(zhǔn)備一個 .NET 控制臺程序。如果沒有,可以新建一個,比如,我用VS創(chuàng)一個叫myprog的控制臺文件,.NET版本選4.0或4.5。
內(nèi)容是:
然后編譯出exe文件。
2,把exe文件上傳到 anyexec文件夾(即你已經(jīng)更名為myprog文件夾)下邊名叫“app”的子文件夾中。
3,把名字叫 ”any“的可執(zhí)行文件更名,讓新文件名與你上傳到 app文件夾中的exe文件名一致(不含擴(kuò)展名),如:myprog
4,試運(yùn)行:
現(xiàn)在,您可以嘗試運(yùn)行曾經(jīng)叫 ”any“現(xiàn)在與你的程序同名(比如myprog)的這個linux程序了。
三,打包發(fā)布:
通過以上步驟,你的程序已經(jīng)與anyexec整合為一個自帶.net運(yùn)行時,并且以你的程序命名的獨(dú)立的,客戶機(jī)無需安裝mono也能正常運(yùn)行的程序系統(tǒng)了。現(xiàn)在,你只需要把整個文件夾做成壓縮包,就可以交給客戶使用。至于你怎么發(fā)布,怎么交給客戶,怎么讓客戶學(xué)會解壓和運(yùn)行,呵呵,這肯定不是我的事了!
?
以上是使用 AnyExec的全部步驟。怎么樣,有了AnyExec,在linux上跑.net 應(yīng)用程序,一點也不難吧!
原文地址:http://www.cnblogs.com/yunei/p/5347590.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注
贊賞
人贊賞
總結(jié)
以上是生活随笔為你收集整理的不装mono,你的.NET程序照样可以在Linux上运行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Microsoft将Linux带至桌面操
- 下一篇: AutoMapper 使用实践