C#在linux上運行實現


1 C#開發完了服務

2 部署到linux centos7上

3無法直接運行

解決方法 1 linux cenos7上安裝mono  2 執行mono xxx.exe 即可

解決方法2 下載 anyexec-1.2-linux_x64.tar.gz 使用該工具來做出像真正的linux 可運行程序,非常簡單 

 

文章引用 https://www.linuxidc.com/Linux/2016-04/129778.htm

讓.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的全部步驟。怎么樣,有了AnyExec,在Linux上跑.net 應用程序,一點也不難吧!

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM