MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记

说明

以root账户登录Linux操作系统,注意:本文中的所有命令行前面的 #> 表示命令行提示符,不需要输入。

创建源码目录:

#> mkdir /var/local/src

下载安装libgdiplus:

#> cd /var/local/src
#> wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2
#> tar -jxvf libgdiplus-2.10.9.tar.bz2
#> cd libgdiplus-2.10.9
#> ./configure
#> make && make install

下载并解压Mono:

#> cd /var/local/src
#> wget http://download.mono-project.com/sources/mono/mono-3.4.0.tar.bz2
#> tar -jxvf mono-3.4.0.tar.bz2

如果在这时就进行配置安装Mono的话,会在make阶段得到一个“找不到 Microsoft.Portable.Common.targets 文件”的错误提示,所以需要先进行如下处理:

#> cd /var/local/src/mono-3.4.0/mcs/tools/xbuild/targets
#> cp Microsoft.Portable.CSharp_4.0.targets Microsoft.Portable.Common.targets
#> vim Microsoft.Portable.Common.targets

在vim中将Microsoft.Portable.Common.targets文件中的这行:<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
删除,然后保存退出。接着进入Mono的源码目录进行配置、编译、安装:

#> cd /var/local/src/mono-3.4.0
#> ./configure
#> make && make install

下载安装gtk-sharp:

#> cd /var/local/src
#> wget http://download.mono-project.com/sources/gtk-sharp212/gtk-sharp-2.12.21.tar.gz
#> tar -zxvf gtk-sharp-2.12.21.tar.gz
#> cd gtk-sharp-2.12.21
#> ./configure

在configure配置阶段你会得到一个csc.exe验证失败的错误,这其实是pkgconfig目录没有在环境变量中指定的原因造成的。那么需要你在/etc/profile文件中追加如下指令:

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

编辑保存了profile文件后,进入bash使用如下命令使其生效:

#> source /etc/profile

然后重新进入gtk-sharp目录,重新执行如下命令:

#> ./configure
#> make && make install

安装MonoDevelop

如果中间出现某某文件不存在之类的错误,请参考本人写的这篇文章《MonoDevelop 4.0.9 on CentOS 6.3 安装笔记》(http://www.cnblogs.com/SW515/p/3199743.html) 来一一解决它们。接着再安装gnome-sharp和MonoDevelop,具体安装过程同样参考上述文章。

安装完MonoDevelop后,在GUI桌面环境下启动它没反映,这时请打开bash命令窗口,输入如下命令:

#> monodevelop

会在bash中看到一个“找不到libMonoPosixHelper.so文件”的异常信息,其实这个文件已经在我默认安装的 /usr/local/lib 目录中,估计它没有去搜索这个目录,那么接着使用如下命令把这个目录加入到ldconfig的搜索路径中:

#> vim /etc/ld.so.conf.d/local-libs.conf

在vim中输入如下这行文本后保存退出:

/usr/local/lib

接着再使用如下命令重新加载一遍配置文件:

#> ldconfig

至此,你应该可以把MonoDevelop跑起来了!

安装XSP

当你在MonoDevelop中打开一个Web项目并运行的时候,会提示你xsp4没有安装。所以,还得去装这个东东,我在 http://download.mono-project.com/sources 这个源码下载列表中发现xsp的源码包是23-Aug-2011年的版本,所以就去 https://github.com/mono/xsp 扒了一个相对更新的源码下来。解压后进入它的源码目录,查看 INSTALL 文件会有详细的安装说明,照着去做就行了,只需注意下你的编译配置前缀就行了(即 ./configure --prefix=...)。

关于Jexus

因为 Jexus 的安装太简单了,而且又有中文安装说明所以我就不再罗嗦了。它的官网下载地址在 http://www.linuxdot.net

需要提醒的一点是,你的Jexus所有站点都不要占用 端口(即在Jexus的siteconf目录中的那些站点配置文件中的端口设置值),因为MonoDevelop在启动xsp的时候,默认会使用这个端口。否则,在MonoDevelop中调试Web项目时xsp会起不来!

作者:钟峰(Popeye Zhong)目前是 武汉中科通达高新技术股份有限公司 的系统架构师,主要负责公司软件产品的技术架构和公共框架开发。他曾经使用 C 语言做过图形程序设计,在相当长的一段时期内从事 COM/COM+ 组件的开发和设计工作,并且短暂的做过 Lotus/Notes 和 Dialogic 语音卡程序的开发,从2003年初开始使用.NET这个充满趣味和挑战的开发平台,还领导过.NET平台下的 Windows Mobile 几个项目的开发,对WinForm和WebForm均比较熟悉。感兴趣的除了企业应用架构设计、组件开发、安全、图像处理外还对汽车和枪械模型、边境牧羊犬有浓厚的兴趣。如果希望与他联系,可访问 http://www.cnblogs.com/sw515 或者Email zongsoft # gmail.com (将#换成@)

MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记的更多相关文章

  1. MonoDevelop 4.0.9 on CentOS 6.3 安装笔记

    前言 Mono的前东家Novell公司旗下的SUSE Linux系列对Mono及MonoDevelop提供内置支持,所以在SUSE/OpenSUSE这些Linux系统中安装MonoDevelop是非常 ...

  2. Mono on CentOS 6.3 安装笔记

    在网上找到篇关于yum的文章,写的很详细特此推荐下,在阅读本文之前建议先看看它: <CentOS yum源的配置与使用> 如果用的是移动光驱,建议不要开启本地的yum 的本地reposit ...

  3. CentOS 7 之安装Mono&MonoDevelop

    之前在园子里看过一篇文章说的是在CentOS 7上安装MonoDevelop的,一直想照着弄一遍都没有弄,今天深圳外面下暴雨,就在家里弄一下这个吧,以后也试着在Linux上面写写C#玩玩.这一试,还真 ...

  4. CentOS 6.5 搭建 .NET 环境, Mono 5.16.0 + Jexus 5.8

    最近有这样一个打算,就是准备把以前的有一个.NET 网站部署在Linux 下面,正好试试 .NET 跨平台的功能,为后续研究 .netCore 方向准备. 搭建环境: CentOS 6.5 + Mon ...

  5. 调试Xamarin.Android时出现缺少"Mono.Posix 2.0.0"的错误

    1.在http://originaldll.com/file/mono.posix.dll/31191.html中下载mono.posix 2.0.0 dll 2.以管理员权限运行Visual Stu ...

  6. 在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录

    在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录 前言 最近有个Web项目,业务功能不复杂,但是这个客户(某政府部门)有两个硬性要求:1 ...

  7. Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)

      Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...

  8. Centos、Ubuntu 安装 Mono、Jexus

    Mono是.NET的跨平台实现 在众多关于语言的争论中,.NET一直被以不能跨平台而诟病,Mono改变了这一现状. 有人当心Mono会涉及版权啥的问题.高深的偶不懂,不过我觉得Unity3D都能用,为 ...

  9. CentOS 7下安装Mono

    最近的项目中需要用到Linux作为服务器,而我们的开发技术是基于.NET的,所以只能在CentOS 7上尝试着安装一下Mono,下面是具体的安装步骤: 1.安装一些必备的依赖项 yum -y inst ...

随机推荐

  1. CI Weekly #10 | 2017 DevOps 趋势预测

    2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...

  2. HTML 事件(四) 模拟事件操作

    本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4.  ...

  3. Python的单元测试(二)

    title: Python的单元测试(二) date: 2015-03-04 19:08:20 categories: Python tags: [Python,单元测试] --- 在Python的单 ...

  4. 开发者接入 基本配置 服务器配置 out.aspx

    页面代码: 前段为默认的,什么都不用写,后台如下: 即可 来自为知笔记(Wiz)

  5. C#中5步完成word文档打印的方法

    在日常工作中,我们可能常常需要打印各种文件资料,比如word文档.对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作.特别是提到Web打印,这的确会很棘手.一般如果要想选 ...

  6. ios label 自动计算行高详解

    在OC当中自动计算行高主要调用系统的 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff } span ...

  7. JQuery阻止事件冒泡

    冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. 我们在平时的开发过程中,肯定会遇到在一个div(这个div可以是元素)包裹一个div的情况,但是呢,在这两个div上都添加了事件,如果点 ...

  8. 浅析SQL查询语句未显式指定排序方式,无法保证同样的查询每次排序结果都一致的原因

    本文出处:http://www.cnblogs.com/wy123/p/6189100.html 标题有点拗口,来源于一个开发人员遇到的实际问题 先抛出问题:一个查询没有明确指定排序方式,那么,第二次 ...

  9. TCP/IP之TCP_NODELAY与TCP_CORK

    TCP/IP之Nagle算法与40ms延迟提到了Nagle 算法.这样虽然提高了网络吞吐量,但是实时性却降低了,在一些交互性很强的应用程序来说是不允许的,使用TCP_NODELAY选项可以禁止Nagl ...

  10. 开始webservice了

    一.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...