共计 1227 个字符,预计需要花费 4 分钟才能阅读完成。
让.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 应用程序,一点也不难吧!
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-04/129778.htm