HTML5技术

不装mono,你的.NET程序照样可以在Linux上运行! - 宇内流云

字号+ 作者:H5之家 来源:博客园 2016-04-03 15:00 我要评论( )

让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过mono your.exe命令运行这个程序。 这种运行.net程序的办法有两个弱点,一个是需要客户机安装mono,二个是mono xx.exe这种命令行总让人感到有点不太专业的味道。 那么,有没有办

让.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 

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 应用程序,一点也没有难度了吧!

现在,.NET程序员们,.NET软件厂商们,你们在保持windows平台的传统优势的同时,可以向Linux自由挺进了!

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 在IIS上部署你的ASP.NET Core项目 - 王杰光

    在IIS上部署你的ASP.NET Core项目 - 王杰光

    2017-04-07 08:00

  • SEO整站优化,让你的网站更加与人不同 - 长空未雨

    SEO整站优化,让你的网站更加与人不同 - 长空未雨

    2017-03-25 12:00

  • Linux编程之给你的程序开后门 - 冠军的试炼

    Linux编程之给你的程序开后门 - 冠军的试炼

    2017-01-16 15:00

  • 如何为你的微信小程序体积瘦身? - 腾讯攻城师lee

    如何为你的微信小程序体积瘦身? - 腾讯攻城师lee

    2017-01-03 13:00

网友点评