Mono 3.2 发布了,对 Mono 3.0 和 2.10
版本的支持不再继续,而且这两个分支也不再提供 bug 修复更新。

这两天一直在搞在FreeBSD上源码编译安装Mono最新版本2.4.2.3,不过经过了多次尝试,始终无法正常编译,所以只好暂时放弃。那么我们还是回来用最简便的方式——ports方式安装。

Mono 3.2 主要新特性:

澳门葡萄京官方网站 ,  为了安装最新版本的Mono,我们需要更新一下ports,命令如下:
引用
portsnap fetch extract
portsnap fetch update

  • LLVM 更新到 3.2 版本,带来更多的编译优化
  • 默认使用 SGen Garbage Collector 垃圾收集器
  • Low pause mode
  • Low promotion nursery
  • 高精度的堆栈扫描 Mostly precise stack scanning 
  • Mono 3.2 基础类库可完整构建 Xamarin 的移动 profile
  • 降低编译后的文件包大小
  • 性能提升

  需要说明一下,portsnap fetch extract
只在第一次需要运行,以后更新ports就只需要运行后面的语句了。

详细介绍请看发行说明。

  更新ports需要不少的时间,需要耐心等一下。ports更新完成后,我们就可以安装最新版本的Mono了,当前ports上Mono的最新版本是:2.4.2.3。通常情况都是直接make
install
clean了,但是我的亲身体会,自动下载会很慢,所以我们在Windows下手动下载。

  不论你用什么方式,到Mono官方网站上下载下来ports上对应的Mono版本。
引用
mono-2.4.2.3.tar.bz2
mono-basic-2.4.2.tar.bz2
libgdiplus-2.4.2.tar.bz2
gluezilla-2.4.2.tar.bz2
xsp-2.4.2.tar.bz2

  将这些文件复制到 /usr/ports/distfiles/下
引用
mv *.bz2 /usr/ports/distfiles/

  复制好以后,就可以开始安装了。
引用
cd /usr/ports/lang/mono/
make install clean

  接下来就是漫长的等待了……

  编译安装完成以后,执行下面的命令:
引用
rehash
mono -V

  如果正常的话,应该会显示类似如下的信息:
引用
Mono JIT compiler version 2.4.2.3 (tarball Fri Nov 13 12:29:24 CST
2009)
Copyright (C) 2002-2008 Novell, Inc and Contributors.
www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       normal
        Notification:  Thread + polling
        Architecture:  amd64
        Disabled:      none

  至此,最新版本的Mono就算是安装完成了,接下来就是安装nginx、mysql等,搭建支持asp.net的web服务器了。不过,这部分就是下一篇文章的内容了,在这里就不深入了。

  以上在FreeBSD 7.2 x64下安装通过。