将C#控制台程序部署到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 https://linuxdot.net/down/anyexec-1.2-linux_x64.tar.gz
3,解压。运行解压命令:tar -zxvf anyexec-1.2-linux_x64.tar.gz
4,把解压得到的,形如“anyexec-1.2-linux_x64”这样的文件夹名称改为你需要的名称,比如 myprog。命令是 mv anyexec-1.2-linux_x64 myprog。
然后进入 myprog,用ls命令可以看到有一个叫 any的程序文件和分别名为 app、runtime两个文件夹。
你可以尝试运行一下 any,如果看到如下信息,说明 AnyExec能够在你的系统上正常工作。
把windows程序上传到linux服务器上,将exe可执行文件移动到app目录下,如果有依赖的dll文件,则将其移动到根目录,重命名any文件与exe文件同名后运行。
以上是使用 AnyExec的全部步骤。怎么样,有了AnyExec,在Linux上跑.net 应用程序,一点也不难吧!