Mono安装指南

Mono在linux环境离线安装 .net桌面应用移植国产linux系统使用mono 阅读详情
AI摘要

本文介绍了获取Mono软件包的四种途径,包括从官方网站下载发行版、获取日发行包、通过CVS服务器获取源码及CVS快照。还详细说明了在Linux和Windows上安装Mono的方法,如Linux上源码包和二进制包的安装步骤,以及Windows下安装的优势和注意事项。

原文:http://nluyan.vicp.net/showdetails.aspx?postid=190

开始Mono之旅-Mono安装指南
 

获取 Mono

目前可以通过以下四种途径获取 Mono 软件包 。

•  到 Mono 的官方网站下载发行版安装包:

这里提供了各种不同种类的正式发行版或阶段性发行版,人们可以自由选择所需要的类型。这里所提供的安装包一般都经过了测试,能正确的编译和运行。
下载地址在: http://www.go-mono.com/download.html

•  日发行包:

假如你希望能密切的跟踪 Mono 的开发进展,或者你想看到 Mono 的开发历史脚步,你可以在 http://go-mono.com/daily/ 这个地址获取 Mono 的日发行包。日发行包包括了每一天 Mono 项目的开发进展。共分为以下 3 种不同的类型:

  • Mono: 这是一个可以进行编译的运行时和类库的源代码包(包含了 C# 的所有二进制控件)。 只要你有一个 C 编译器就可以编译和安装使用了。最新的版本可以直接通过 http://go-mono.com/daily/mono-latest.tar.gz 来下载。
  • MonoCharge: 包含了所有进行编译过的 Mono 的 C# 组件和可执行程序。可以使用它来全面更新你已安装的 Mono 类库和工具。
    最新版本可以直接通过 http://go-mono.com/daily/monocharge-latest.tar.gz 来下载。
  • MonoLite: MonoLite 包和 MonoCharge 包一样,也提供了让你更新 Mono 的能力,不过它只包含了最基本的核心类库 corlib, System, System.Xml 和 C# 编译器。
    最新版本可以直接通过 http://go-mono.com/daily/monolite-latest.tar.gz 来下载。

•  通过 CVS 服务器获取 Mono 源码 .

CVS 是一个功能强大的源代码管理服务器。假如你认为每天更新一次的日发行包还是不能满足你狂热的追求最新代码的需求的话,那么还可以通过访问 Mono 的 CVS 服务器直接获取 Mono 正在开发中的源代码库,因为有可能你得到的代码是一分钟前由 Mono 的开发人员刚刚提交上去的。

在 Linux 下访问:

首先要确认你的系统上已经安装了 CVS 客户端软件,如果没有的话,可以到 http://www.cvshome.org/ 去下载。

在控制台下输入如下命令:

export CVSROOT= Stick out tongueserver:anonymous@anoncvs.go-mono.com:/mono cvs login (系统提示要输入密码,可以直接回车) cvs -z3 co mono

其中的 mono 为项目名称,也可以换成别的项目,例如 mcs 和 gtk-sharp 。然后就可以看到正在从服务器上下载文件, CVS 会自动在当前目录下建立一个和服务器上的目录结构保持一致的项目文件目录。

•  CVS 快照

Available for curious developers which do not necessarily want to install the CVS source. Baked daily.

Linux上安装

Mono 的分发包有两种形式,一种是源码包,需要手工进行编译,另一种是二进制包,可以直接安装。 源码包的适用范围比较广,能够适合几乎所有的 Linux ,但是步骤比较麻烦,所需时间较长。相反,二进制包的安装比较简单,但是适用范围比较窄,只能在某些特定的 Linux 系统下安装,典型的有 RedHat Linux 的 RPM 安装包。

核心的 Mono 分成了两部分:

•  C 组成部分(包含在 Mono 软件包中)

包含了运行 Mono 的所有必要成分,是 Mono 的运行环境。

•  C# 组成部分(包含在 MCS 软件包中)

包含了类库,编译器等使用 C# 编写的内容部分。

源代码安装:

源代码安装是指下载 Mono 的源代码,然后在本地进行编译,

假如你是下载的 Mono 的压缩安装包,可以输入以下命令进行解压缩:

tar zxfv mono-X.XX.tar.gz

其中 X.XX 是 Mono 的版本号。

解压缩完成后,将会看到在当前目录下的一个子目录,名称一般会是: mono-X.XX 。

进入该子目录,输入: ./configure

你将看到类似如下的状态信息:

[root@localhost mono-1.0]# ./configure

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu

checking target system type... i686-pc-linux-gnu

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking whether to enable maintainer-specific portions of Makefiles... no

checking host platform characteristics... ok

checking for gcc... gcc

checking for gcc... (cached) gcc

checking for C compiler default output... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables...

checking for suffix of object files... o

中间略过 …

config.status: creating Makefile

config.status: creating include/Makefile

config.status: creating include/private/Makefile

config.status: creating doc/Makefile

config.status: executing depfiles commands

config.status: executing default commands

GC: included

ICU: no, if you want full i18n support download it from: http://oss.software.ibm.com/icu/index.html

NPTL: yes

SIGALTSTACK: yes

Engine: Building and using the JIT

这表示 configure 程序正在配置 Mono 的 Makefile 文件,为下一步编译 Mono 做好准备。假如在此过程中出现了异常中断,并且目录中也没有生成 Makefile 文件,则需要根据系统提示找出出现错误的原因,一般可能是因为缺少某些编译 Mono 所必须的软件,例如假设你没有安装 Gnome X-Window 的话,则需要手动安装 pkg-config 和 glib-2.0 ,这两个软件可以分别在 http://www.freedesktop.org/Software/pkgconfig 和 ftp://ftp.gtk.org 处下载。

接下来就可以开始编译 Mono 了,直接在命令行输入 make ,你可以看到类似如下的输出信息:

[root@localhost mono-1.0]# make

make all-recursive

make[1]: Entering directory `/mono/mono-1.0'

Making all in libgc

make[2]: Entering directory `/mono/mono-1.0/libgc'

Making all in include

make[3]: Entering directory `/mono/mono-1.0/libgc/include'

gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../libgc/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -DGC_LINUX_THREADS -DMONO_USE_EXC_TABLES -D_GNU_SOURCE -D_REENTRANT -fexceptions -D_FILE_OFFSET_BITS=64 -g -O2 -fno-strict-aliasing -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -c -o genmdesc-helpers.o `test -f 'helpers.c' || echo './'`helpers.c

/bin/sh ../../libtool --mode=link gcc -g -O2 -fno-strict-aliasing -g -Wall -Wunused

./genmdesc ./cpu-sparc.md cpu-sparc.h sparc_desc

make all-am

其中的由配置脚本生成的编译信息可能看起来会非常杂乱,不过不用担心,这些都是很正常的现象。另外在编译过程中,依赖不同性能的机器,可能需要的的时间会比较长,请耐心等待。

在编译完成之后,可以输入 make install 来进行安装,这个步骤会将 mono 的一些脚本和可执行程序复制到操作系统可以找得到的地方,默认情况是: /usr/local/bin 。

现在,你可以在命令行输入: mono ,假如出现了以下帮助信息(其具体含义在后面章节有详细介绍):

Usage is: mono [options] assembly

Runtime and JIT debugging:

--compile METHOD Just compile METHOD in assembly

--ncompile N Number of times to compile METHOD (default: 1)

--regression Runs the regression test contained in the assembly

--print-vtable Print the vtable of all used classes

--trace[=EXPR] Enable tracing, use --help-trace for details

--compile-all Compiles all the methods in the assembly

--breakonex Inserts a breakpoint on exceptions

--break METHOD Inserts a breakpoint at METHOD entry

--debug Enable debugging support

--stats Print statistics about the JIT operations

Development:

--statfile FILE Sets the stat file to FILE

--aot Compiles the assembly to native code

--profile[=profiler] Runs in profiling mode with the specified profiler module

--graph[=TYPE] METHOD Draws a graph of the specified method:

cfg Control Flow Graph (CFG)

dtree Dominator Tree

code CFG showing code

ssa CFG showing code after SSA translation

optcode CFG showing code after IR optimizations

Runtime:

--config FILE Loads FILE as the Mono config

--verbose, -v Increases the verbosity level

--help, -h Show usage information

--version, -V Show version information

--optimize=OPT Turns on a specific optimization:

peephole Peephole postpass

branch Branch optimizations

inline Inline method calls

cfold Constant folding

consprop Constant propagation

copyprop Copy propagation

deadce Dead code elimination

linears Linear scan global reg allocation

cmov Conditional moves

shared Emit per-domain code

sched Instruction scheduling

intrins Intrinsic method implementations

tailc Tail recursion and tail calls

loop Loop related optimizations

fcmov Fast x86 FP compares

leaf Leaf procedures optimizations

aot Usage of Ahead Of Time compiled code

precomp Precompile all methods before executing Main

那么恭喜,你已经正确的安装完成了 Mono 运行环境,可以在 Linux 下运行和编译 .Net 应用程序了。

卸载 Mono 也很简单,只要输入 make uninstall ,就会自动的删除所有安装的可执行程序和脚本。如果你希望重新编译安装 Mono ,则可以先输入: make distclean ,然后按照刚才的顺序输入: ./configure , make , make install 。

Windows上安装

Mono 本身是一个跨平台的环境,因此它完全可以在 Windows 平台下运行,也许你会发出这样的疑问:既然 Windows 平台上已经有了 Microsoft .Net Framework ,那么为什么我还要在 Windows 下安装 Mono 呢?

这是因为:

1 .虽然 Mono 和 Microsfot .Net 能在大部分的情况下保持兼容,但是 Mono 还有它自己的扩展部分,例如数量远远超过 Microsoft .Net 的数据库提供程序。

2 .方便调试。大部分的程序员还是习惯在 Windows 上进行软件开发,毕竟 Windows 的开发环境比 Linux 要好得多。比如可以在 Windows 下使用 Visual Studio 进行开发,然后直接调试对 Mono 的兼容性问题,而不用再切换到 Linux 下。

3 .可以查看 .Net 的类库源代码。 Mono 是开源项目,意味着你可以查看到类库的 C# 源代码,而 Microsoft .Net 就不能够看到。对于开发人员理解 .Net 类库的设计和实现是非常有帮助的。

首先需要到 Mono 的下载页面去下载 Windows 安装软件包,它其实是一个自解压的压缩包,因此不会在开始菜单程序栏中生成任何的快捷方式,实际上, Mono 自身还没有任何的图形界面,目前你只能在控制台中才能正确使用 Mono 。

目前这个 版本的 Mono 还不是很完善,在安装完成后,如果你直接进入目录下输入 mono 会产生一些找不到动态连接库的错误,所以还需要手动添加动态连接库的路径到 path 环境变量中,使用如下命令:

Path=%path%;c:/programe files/mono-1.0/bin;c:/programe files/mono-1.0/icu/bin

然后再到 bin 目录下执行 mono ,便可以看见正确的帮助提示信息。

卢彦
2004-7-4

Ubuntu安装c#编译器mono 地址: http://www.mono-project.com/ 1.Add the Mono repository to your system 1.将Mono存储库添加到你的系统中 Ubuntu 16.04 #sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E03 阅读详情

相关推荐

在Linux上安装Mono和C# PCL

对于在Linux操作系统上进行C#开发的开发人员来说,安装Mono和C# PCL是至关重要的。Mono是一个跨平台的开源实现,允许我们在Linux上运行和开发C#应用程序。希望本文对您有所帮助,让您能够在Linux上使用Mono和C# PCL进行开发。现在,您已经成功安装了Mono和配置了C# PCL,让我们编写一个简单的C#程序并运行它。这将下载并安装.NET Core SDK,该SDK包含用于开发和构建C# PCL的工具。您已成功使用C# PCL在Linux上编写和运行了一个简单的应用程序。

ZfpMaster的博客 1000

开始Mono之旅-Mono安装指南 [转载]

获取 Mono 目前可以通过以下四种途径获取 Mono 软件包 。 • 到 Mono 的官方网站下载发行版安装包: 这里提供了各种不同种类的正式发行版或阶段性发行版,人们可以自由选择所需要的类型。这里所提供的安装包一般都经过了测试,能正确的编译和运行。 下载地址在: http://www.go-mono.com/download.html • 日发行包: 假如...

weixin_30251829的博客 533

MONO 优秀插件整合版M0N01.81SC v0.7

全嵌入式结构,内置操作系统,不需要另外的操作系统支持WEB图形接口,方便使用,学习门槛低串口控制台系统恢复设置IP地址重置密码恢复出厂设置重启系统无线支持网络门户支持。

Linux下mono环境的源码编译与安装

请注意,以上步骤仅涵盖了Mono基本的源码编译和安装过程,具体步骤可能会因不同的系统版本和环境而略有差异。在实际操作中,还可能需要处理其他依赖项或配置项。如果遇到任何错误或问题,请参考官方文档或社区支持资源以获取更详细的指导。如果输出显示了安装的 Mono 版本信息,则表示安装成功。

qq_43259903的博客 2757

《计算机科学概论(第13版)》5-12章

定序是按给定语句的顺序应用每个算法步骤。(primitive):建立一组定义明确的构建块,利用它们来构造和执行算法的表示。可以消除歧义,不会引起误解,就像咱们传统的自然语言(用英语来沟通交流)。(programming language):原语的集合以及说明如何组合这些原语来表示比较复杂的想法的规则集合。用程序设计语言描述的算法可以在计算机上执行。每个原语都有自己的语法和语义,语法指的是原语的符号表示,语义是指该原语的含义。伪代码:用户开发过程中非正式表达想法的符号系统。

输入知识,消化知识,输出知识,分享知识,教人让我学习更好,业精于勤荒于嬉,行成于思毁于随 1036

Docker容器化部署Ceph集群:从零搭建高可用分布式存储

本文详细介绍了如何使用Docker容器化部署Ceph集群,从零搭建高可用分布式存储系统。通过环境一致性、快速扩容和资源隔离等优势,Docker显著提升了Ceph集群的部署效率和运维便捷性。文章涵盖硬件规划、镜像选择、单节点部署、多节点扩展及性能调优等实战内容,帮助开发者快速掌握分布式存储系统的容器化部署技巧。

weixin_29081101的博客 422

Linux下Mono安装

1、下载mono源码 https://github.com/mono/mono/archive/mono-5.12.0.226.zip 2、安装步骤 1、把mono-5.12.0.226版本放到要安装的机器上 2、安装编译环境 apt-get intall build-essential 3、执行命令./configure (需要安装cmake,可以用apt-get install cmake安装...

游戏猫的博客 6095

强化学习环境Gym库的介绍

Gym是一个用于进行强化学习实验的开源库,它提供了一个仿真环境,内置了多种仿真游戏,例如出租车游戏、悬崖游戏等,不同的游戏所用的网格、规则、奖励(reward)都不一样,适合为强化学习做测试。(1) 多种环境:Gym库内置了上百种实验环境,包括算法环境、简单文本环境、经典控制环境、Atari游戏环境、MuJoCo环境和机械控制环境等。(2) Gym提供多种环境供我们使用,这里以一个简单的CartPole-v0为例,首先导入gym库,然后创建一个CartPole-v0环境,通过调用gym.make方法实现。

ahah12345678的博客 2148

centos 下mono安装

storm的多语言接口调用C#,或者在linux下执行C#文件都需要mono环境 1. 编译安装 1.1 下载源码包 https://download.mono-project.com/sources/mono/ 1.2 安装组件 yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make li...

wanchaopeng的博客 1150

MATLAB演示元胞自动机算法

一、元胞自动机理论 元胞自动机与格子理论是一个非常好的模型,许多复杂的问题都可以通过它来建立模型,下面就简要介绍一下。 元胞自动机 实质上是定义在一个具有离散、有限状态的元胞组成的元胞空间上,并按照一定的局部规则,在离散的时间维度上演化的动力学系统。 元胞 元胞又可称为单元、细胞,是元胞自动机的最基本的组成部分。 元胞具有以下特点: 元胞自动机最基本的单元。 元胞有记忆贮存状态的功...

frange zone 2万+

Qt 5.9.1 32位下,手把手搞定周立功CAN二次开发库的加载与配置(含常见错误排查)

本文详细介绍了在Qt 5.9.1 32位环境下配置周立功CAN二次开发库的完整流程,包括环境准备、项目配置、常见错误排查及性能优化建议。特别针对MinGW 32bit环境,提供了.pro文件的精准配置和DLL部署策略,帮助开发者快速解决库文件匹配、编译报错和运行时问题,实现高效的CAN总线通信开发。

weixin_28717431的博客 356

Centos下安装MONO

解开压缩包tar zxf mono-1.1.13.8.tar.gztar zxf mod_mono-1.1.13.5.tar.gztar zxf xsp-1.1.13.7.tar.gz编译mono./configure --prefix=/usrmakemake install这个过程需要很长时间。需要耐心等待,然后可以编译mod_mono了。./configure --with-apxs=/usr/local/apache/bin/apxsmakemake install接下来编译xsp./configu

Microbit 5263

【WRF工具】WRF Domain Wizard第一期:软件下载及安装

【WRF工具介绍】WRF Domain Wizard-确定模拟区域

WW、forever的博客 2918

Ubuntu下安装 Mono

参考 自CentOS 如何 安装  http://www.cocoachina.com/bbs/read.php?tid=166098

cfy_phonex的专栏 3724

PyTorch深度学习实战(24)——使用U-Net架构进行图像分割

图像分割 (Image segmentation) 是计算机视觉领域中的一个重要任务,旨在将图像划分为具有语义信息的不同区域或对象。与目标检测任务不同,图像分割要求像素级别的精确定位和分类,将每个像素标记为属于哪个类别或属于哪个区域。在本节中,我们将介绍图像分割的基本概念,并训练一个基于 U-Net 架构的图像分割模型。

盼小辉丶的博客 1万+

QEMU理解与分析系列(11):QEMU内存机制

在物理机上,CPU 对于内存的访问在保护模式下通过分段分页的形式实现。在该模式下,CPU 访问时使用的是虚拟地址,通过 MMU 映射到物理地址,将虚拟地址转换为物理地址才能访问实际的物理内存。同样的,虚拟机模拟的物理机同样需要有上述的机制,也需要有从虚拟地址到物理地址的转换。这里需要注意,模拟的物理机的物理地址本质上是 qemu 的虚拟地址。

swh547的博客 49

linux mono 安装步骤,如何在Ubuntu 18.04上安装Mono

Mono是一个基于ECMA/ISO标准开发和运行跨平台应用程序的平台。 它是Microsoft .NET框架的免费开源实现。本教程介绍了如何在Ubuntu 18.04上安装Mono。先决条件这些说明假定您以root用户或具有sudo特权的用户身份登录。在Ubuntu上安装Mono在Ubuntu 18.04上安装Mono的最简单和建议的方法是从Mono的存储库中安装它。 这是一个相对简单的过程,只需...

weixin_33267354的博客 921

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

在Ubuntu上安装Mono

在Ubuntu上安装Mono 运行下面代码授权注册repo源并更新软件列表: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamari

每一天都有新的希望 2万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[官网]mono的官方安装方法

mono 官方的安装方法 https://www.mono-project.com/download/stable/#download-lin-centos Download Release channels:Nightly-Preview-Stable-Visual Studio The latest Stable Mono release is...

weixin_30265103的博客 8853

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

安装Mono

2 安装Mono 本章内容 ü 下载Mono ü 安装Mono ü 配置XSP 2.1下载Mono Mono可以安装在Windows、Linux、Max OS X、FreeBSD等操作系统上。 Mono支持GNOME、KDE、Windows桌面环境。 由于Linux软件包的依赖性,安装Mono时,在一些Linux发行版上可能会有些问题,原因时你未安装Mono运行所需要的第三方的软件包,笔者在Sla

落泪无痕 1804

linux ubuntu安装 mono,在Ubuntu 18.04系统中安装Mono及基本使用Mono的方法

本文介绍在Ubuntu 18.04操作系统中安装Mono及基本使用Mono的方法。Mono是一个基于ECMA/ISO标准开发和运行跨平台应用程序的平台,它是Microsoft .NET框架的免费开源实现。在Ubuntu 18.04中安装Mono在Ubuntu 18.04系统中安装Mono最简单和建议的方法是从Mono的存储库中安装它,这是一个相对简单的过程,只需几分钟。1、首先安装必要的软件包:s...

weixin_42620563的博客 2386

Mono XSP 安装与配置指南

Mono XSP 安装与配置指南 1. 项目基础介绍 Mono XSP 是一个开源的 ASP.NET 服务器,它是 Mono 项目的一部分,旨在在非 Windows 平台上运行 ASP.NET 应用程序。XSP 服务器能够托管 Mono 的 System.Web 类,这些类通常被用于运行 ASP.NET 应用。项目的主要编程语言是 C#,同时也包含了一些其他语言的代码,如 Shell 脚本和 Ma...

gitblog_00769的博客 547

Centos7 Mono的安装

转自https://www.cnblogs.com/shanyou/p/6876582.html 一、 系统更新运行 yum –y update 二、 参照Mono官方的CentOS安装http://www.mono-project.com/download/#download-lin-centos,首先添加安装包仓库 yum install yum-utils rpm --impo...

zzulb的专栏 2523
上一篇: PDF文件与Word文档之间自由转换
下一篇: 盖茨写给即将走出学校的青年一代的11点忠告
GoBest
博客等级 码龄22年 4粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值