linux操作系统安装MONO执行C#程序的详解步骤

第一步 环境(UBUNTU系统下)

代码如下:

sudo apt-get install mono-gmcs mono

第二步 建立example.cs

代码如下:

class X {
static void Main () {
System.Console.Write("My first mono app worked!/n");
}
}

第三步 编译

代码如下:

gmcs example.cs

第四步 执行

代码如下:

./example.exe

在Linux中使用C#(Fedora系统下)

当微软启动它的.NET战略时,其中的一个目标就是让所制作的软件运行在多种不同的平台上。

Mono,一个开源项目,能使.NET能在您的Linux操作系统上运行。

如果你和我一样,既用Microsoft的技术工作,也喜欢用Linux工作,那么这个Mono就能帮助你我,你可以在这两个平台上都可以写C#程序。

到www.go-mono.com 下载Mono的最新安装包。我看了一下,在我写这篇文章时,该官方网上最新的Stable版本时Mono 1.1.13.8 。

在安装Mono前,你必须确定你是否有GIMP Toolkit,Drawing Kit和pkg-config。你可以在rpmfind.net上下载它们。建议下载最新的版本,如果你的Linux上原有了这些软件,你也可能需要升级它们。

下面安装这些软件:

代码如下:

# rpm -Uvh glib2-2.0.0-1.i386.rpm
# rpm -Uvh glib2-devel-2.0.0-1.i386.rpm
# rpm -Uvh pkgconfig-0.12.0-1.i386.rpm

接下来就是解压Mono:

代码如下:

# tar -zxvf mono-1.1.13.8.tar.gz

接下来:

代码如下:

# ./configure
# make
# make install

当上面的都完成后,你的Linux系统就有了一个可以工作的Mono,它包括了Mono的C#编译器,Mono的即时编译器和mint(The Mono interpreter)。下面就可以写C#程序了。比如,嘿嘿,写个最有名的Hellow World程序:

代码如下:

class Hello {
static void Main() {
System.Console.WriteLine("Hello World");
}
}

呵呵,果然是经典。C#程序必须以.cs做后缀名。输入程序并保存它,比如保存为HelloWorld.cs然后编译它:

代码如下:

# mcs Hello.cs

如果你写的程序都正确,那么这个命令会生成一个名叫HelloWorld.exe的MSIL文件,然后你就可以使用这个文件:

代码如下:

# mint HelloWorld.exe
Hello World

mint interprter有很多可以选择的命令包括 --trace 和 --debug,这些对调试很有作用。当你的程序已经完成了,你可以在JIT编译器上编译了:

代码如下:

# mono HelloWorld.exe
Hello World

公共语言运行库提供了跨平台的能力。.NET程序可以在任何安装了CLR的系统上运行。实际上,Mono的C#编译器是在Windows平台上用 Microsoft .NET Framework SDK编译后再移到Linux平台上的。你可以把在Windows平台上编译好的程序转到Linux上并运行它。

Mono还没有完全实现.NET Framework,但已经足够让你运行你想写的程序了。开源的东西一般进化速度很快,也许很快就能完全满足你的需求。

顺便提一下,在gtk-sharp.sourceforge.net上有个Gtk# 项目,它致力于给C#语言绑定gtk+ toolkit。它同时也致力于在Mono下提供和Windows.Forms兼容的库。当然,从Windows迁移到Linux毕竟是有困难的,让我们关注它的进展吧。

(0)

相关推荐

  • CentOS上搭建Nginx+Mono运行asp.net环境的配置方法

    安装步骤: 一.获取开源相关程序: 1.利用CentOS Linux系统自带的yum命令安装.升级所需的程序库: sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bz

  • 在CentOS 7.2下安装Mono 5.0的方法教程

    前言 微软Build2017大会期间.NET领域的.NET core之外,就是Visual Studio For Mac,大家都知道Visual Studio For Mac 是基于Mono运行的,Mono 5.0也是闪亮登场,Mono 5.0是一个非常重要的里程碑版本,支持Windows 64位部署,还有支持PowerPC等,Mono 5.0 和微软的.NET 的可操作性,兼容性也得到了更好的统一,还有很多特性为C#的游戏之王Unity准备,今年的Unity平台会有全面的升级. Mono 5.

  • ubuntu 13.10编译安装mono环境(二)

    准备工作 先在VS2012上编译一个winform,代码如下: using System; using System.Windows.Forms; namespace FormsTest { static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.S

  • ubuntu13.10编译安装mono环境(一)

    准备工作 一个全新安装的ubuntu13.10系统 下载Mono源代码并编译 nike@NIKE-PC:~$ ls Desktop Downloads Music Public Videos Documents examples.desktop Pictures Templates nike@NIKE-PC:~$ mkdir src nike@NIKE-PC:~$ cd src nike@NIKE-PC:~/src$ wget http://download.mono-project.com/s

  • linux操作系统安装MONO执行C#程序的详解步骤

    第一步 环境(UBUNTU系统下) 复制代码 代码如下: sudo apt-get install mono-gmcs mono 第二步 建立example.cs 复制代码 代码如下: class X {static void Main () {System.Console.Write("My first mono app worked!/n"):}} 第三步 编译 复制代码 代码如下: gmcs example.cs 第四步 执行 复制代码 代码如下: ./example.exe 在

  • 在交互式环境中执行Python程序过程详解

    前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Python基础的内容,以Windows下交互式环境为依托,演示Python程序的运行. 一般来说,顺利安装Python之后,有两种方式可以进入Python交互性环境.一种是在Python自带的IDLE中直接打开交互式窗口,如下图所示: 另一种是打开开始菜单,输入cmd之后,进入命令行窗口,之后输入Py

  • Linux 单个tomcat多实例部署shell脚本详解

    Linux 单个tomcat多实例部署shell脚本详解 步骤: 1. 下载tomcat,解压安装 2.将tomcat下的webapps,conf,temp等目录分别拷至根目录www下A,B,C目录下 3.新建如下脚本restart_tomcat.sh 4.使用restart_tomcat.sh A/B/C #!/bin/sh if [ -z $1 ] then echo "\033[31;1mplease input the app which you need restart...\033[

  • Linux Shell脚本多命令执行逻辑的示例详解

    目录 简介 一.分号 二.&& 三.|| 案例剖析 简介 Linux 中可以使用分号";“.双and号”&&“和双竖线”||"来连接多个命令.根据场景的不同适当的使用合适的符号. 历史攻略 python:执行dos命令.Linux命令 命令连接符解析: 仅连接,表示运行先后,无逻辑关系:分号";",如command1 ; command2 逻辑与关系:&&,如command1 && command2 逻

  • AnyChat的视频会议程序实例详解

    AnyChat(全名叫Anychat SDK),也叫音视频互动开发平台:是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,整合了佰锐科技在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台. 可以进行双人或多人的语音实时通话,支持Windows.Web.Android.iOS.Mac.Linux等跨平台通信. 所提供的SDK支持C++.Delphi.Java.C#.VB.object

  • Linux/Unix环境下的Make和Makefile详解

    Linux/Unix环境下的Make和Makefile详解 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系.而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简

  • Linux 系统 nginx 服务器安装及负载均衡配置详解

    nginx(engine x) 是一个 高性能 的 HTTP 和 反向代理 服务器.邮件代理服务器以及通用的 TCP/UDP 代理服务器.其特点为轻量级(占用系统资源少).稳定性好.可扩展性(模块化结构).并发能力强.配置简单等. 本文主要介绍在测试环境中通过 nginx 实现基本的 负载均衡 功能. nginx 可以提供 HTTP 服务,包括处理静态文件,支持 SSL 和 TLS SNI.GZIP 网页压缩.虚拟主机.URL 重写等功能,可以搭配 FastCGI.uwsgi 等程序处理动态请求

  • Shell脚本中多命令逻辑执行顺序的方法详解

    Linux中可以使用分号";".双and号"&&"和双竖线"||"来连接多个命令.单"&"符号也算命令连接符号,只不过它是将其前面的命令放入后台执行,所以可以变相地实现命令并行执行. 1.分号";" command1 ; command2 命令之间没有逻辑关系.分号连接的命令会按照顺序从前向后依次执行,但分号两端的命令之间没有任何逻辑关系,所有写出来的命令最终都会被执行,即使分号前面

  • 使用VS2022开发在线远程编译部署的C++程序(图文详解)

    一.先来一点C++的资源分享,意思一下. 1.c++类库源码以及其他有关资源.站点是英文的,英文不好的话可以谷歌浏览器在线翻译.http://www.cplusplus.com/ 2.C++参考手册.页面有点复古,不过有中文版本的.https://zh.cppreference.com/w/cpp 3.GUNC++库,你懂的.https://gcc.gnu.org/onlinedocs/libstdc++/index.html 4.一群大佬分享的一些中文开源资源.https://github.c

  • java实现可安装的exe程序实例详解

    java实现可安装的exe程序实例详解 通过编写Java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写Java代码,将编写好的Java项目导出一个.jar格式的jar包: 2.通过安装exe4j软件,将导出的.jar格式的文件制作成.exe格式的可执行的文件,(注意:此时的.exe文件只是可以执行,还不能够安装): 3.通过安装Inno setup软件,将可执行的.exe格式的文件..jar格式的文件以及其它需要的文件制作成一个可安装的.exe格式的文

随机推荐