让.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 应用程序,一点也不难吧!

linux mono运行c 1,不装mono,你的.NET程序照样可以在Linux上运行!相关推荐

  1. 都有哪些应用程序可以在M1 Mac上运行?

    如果您有幸使用新的M1 Mac,或者考虑购买一台Mac,您会想知道您需要使用的应用程序是否可以在其中运行. 苹果公司拥有Rosetta 2-一种用于翻译用于英特尔处理器的代码的工具,以便M1芯片可以理 ...

  2. 32位程序在64位系统上运行

    32位程序在64位系统上运行 32位系统下的MFC文件,怎么在64位的系统上面运行? 先将32位的应用程序转换为64位的应用程序. 从32位应用程序到64位应用程序 编译:starlight 这篇文章 ...

  3. 不装mono,你的.NET程序照样可以在Linux上运行

    让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过"mono your.exe"命令运行这个程序. 这种运行.net程序的办法有两个弱点, ...

  4. 不装wine,你的.NET程序照样可以在Linux上运行!

    让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过"mono your.exe"命令运行这个程序. 这种运行.net程序的办法有两个弱点, ...

  5. docker 运行windows程序_如何从Windows上运行任何Linux图形GUI程序?

    Win10上的wsl模式虽然解决了运行linux程序的痛点,然而所运行的程序依然受困于Terminal中.比如emacs: 终端版本的emacs 试图获得赏心悦目的视觉效果,比如优美的字体和图形,必须 ...

  6. Linux开源IM GGTalk 8.0发布,支持在统信UOS、银河麒麟上运行!

       GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端.这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产 ...

  7. Linux内核分析(一)通过汇编代码,理解程序在计算机中是如何运行的

    作者:于波 声明:原创作品转载请注明出处    来源:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 首 ...

  8. 在local模式下的spark程序打包到集群上运行

    一.前期准备 前期的环境准备,在Linux系统下要有Hadoop系统,spark伪分布式或者分布式,具体的教程可以查阅我的这两篇博客: Hadoop2.0伪分布式平台环境搭建 Spark2.4.0伪分 ...

  9. 无法在此配置的计算机上运行,win7系统出现“无法将windows配置为在此计算机的硬件上运行”的解决方法...

    很多小伙伴都遇到过win7系统出现"无法将windows配置为在此计算机的硬件上运行"的困惑吧,一些朋友看过网上零散的win7系统出现"无法将windows配置为在此计算 ...

最新文章

  1. selector与layer-list 单边框效果
  2. Linux X Window System运行原理和启动过程
  3. Wt::WPaintDevice
  4. Windows上erl.exe的CPU使用率很高的问题【未解决】
  5. MultipartFile 文件上传
  6. 使用Android studio 运行react-native项目
  7. .NET Core 2.0 特性介绍和使用指南
  8. java 数组处理_JAVA操作数组
  9. mybatis获取表名_mybatis plus 的动态表名的配置详解
  10. 五句话介绍计算机英语,用英语描写电脑优点(5个句子)和缺点(5个句子),一共10句话哦....
  11. Java语句详解(图解java语句概念、快速掌握java基础知识点)——Java基础系列
  12. 淘淘商城:显示查询页面
  13. RJ11电话线水晶头制作方法(图解)
  14. 标题栏设置及自定义标题栏
  15. el-upload上传视频截取视频第一帧作为首图
  16. Pytorch基于卷积神经网络的猫狗识别
  17. LWN:GFP 标志介绍以及移除 __GFP_ATOMIC!
  18. 【中文】【吴恩达课后编程作业】Course 5 - 序列模型 - 第三周作业 - 机器翻译与触发词检测
  19. linux配置文件如何排序,Linux系统中sort排序命令的使用教程
  20. CVE-2017-8464远程命令执行漏洞(震网漏洞)复现

热门文章

  1. [C++] 如此聪明的C++编译器
  2. 两空间异面直线公垂线及交点坐标的求解过程
  3. 使用Idea简单搭建springcloud项目
  4. 将网卡中断分布到多个cpu上的方法
  5. jedis-2.4.1 中的JedisPoolConfig没MaxActive属性
  6. unity3d 使用GL 方式画线
  7. 神经网络之预测共享单车使用情况
  8. 如何实现登录、URL和页面按钮的访问控制?
  9. 视+AR正式发布EasyAR引擎2.0版,并宣布开放AR相机平台
  10. python之log日志模块