讓.NET應用程序在linux上運行,目前通用的作法就是在Linux上安裝mono,而後經過」mono your.exe「命令運行這個程序。linux
這種運行.net程序的辦法有兩個弱點,一個是須要客戶機安裝mono,二個是 」mono xx.exe「 這種命令行總讓人感到有點不太專業的味道。app
那麼,有沒有辦法既不安裝mono,又能讓你的.NET程序就像c語言編譯的程序那麼,」直接「在Linux上運行呢?工具
爲了解決.net程序特別是.net控制檯程序在Linux平臺上部署和運行的簡便性問題,我給你們準備了一個小工具,叫」AnyExec「,下面具體談談怎麼將你的.net程序與 AnyExec整合起來,造成一個能夠在Linux平臺上無需安裝mono就能夠獨立運行的程序系統。測試
一,準備:spa
1,因爲目前只有64位的AnyExec,因此須要你們準備一臺64位Linux測試機。.net
2,下載 anyexec。在Linux測試機上運行命令: wget http://linuxdot.net/down/anyexec-1.1-linux_x64.tar.gz命令行
3,解壓。運行解壓命令:tar -zxvf anyexec-1.1-linux_x64.tar.gzblog
4,把解壓獲得的,形如「anyexec-1.1-linux_x64」這樣的文件夾名稱改成你須要的名稱,好比 myprog。命令是 mv anyexec-1.1-linux_x64 myprog。部署
而後進入 myprog,用ls命令能夠看到有一個叫 any的程序文件和分別名爲 app、lib和bin的三個文件夾。get
你能夠嘗試運行一下 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 應用程序,其實很方便吧!
附註:AnyExec官網:http://www.linuxdot.net/,QQ羣:103810355。