学习Mono时,你可能会遇到Ubuntu Mono问题,这里将介绍Ubuntu Mono问题的解决方法,在这里拿出来和大家分享一下。使用Ubuntu有一段时间了,对于做C#开发的人来说,Ubuntu Mono让我们看到了在linux下使用C#看到希望。
我使用的是Ubuntu 8.10 默认安装了Ubuntu Mono1.9.1但是Ubuntu Mono2.0.1发布带来了更多新特性(仅相对于Ubuntu Mono来说)。但是没有官方的安装源,只能下来代码自己编译,相对于Windows linux对于我来说还是太陌生很多不明白的地方,但是这难不倒我们做程序员的,看ReadMe 查Google反正,要把你搞定为止,编译Ubuntu Mono 2.0.1非常顺利
sudo apt-get build-dep Ubuntu Mono//安装一些必须的包,以免出错./configure --prefix=/usr/local
make sudo make install
几分钟的编译过程,很顺利,完成后在终端输入Ubuntu Mono -V
Mono JIT compiler version 2.0.1 (tarball)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.Ubuntu Mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none
安装完成!好像没有什么困难的
下面装Ubuntu MonoDevelop才是磨难的开始,我从SVN取回Ubuntu MonoDevelop的代码,
直接./configure 这过程序也提示我确少几个库,这个按他的提示,在新立得里搜过一下,
装上,能过,但在make过程中缺不的文件就相当郁闷了,一开始,报缺Ubuntu Mono-addins的程序集,
这个也好办,下载下来,编译通过把编译出来的所有文件复制到Ubuntu Monodevelp的bin目录下,
再一次make,好了这个问题就没有了,接下来说缺Ubuntu Monodoc 2.0下用类似办法解决,
再一次make 这次缺gtk-sharp
not be loaded:> Assembly: gtk-sharp (assemblyref_index=1)
> Version: 2.12.0.0
> Public Key: 35e10195dab3c99f
> System error: Unknown error: 0
我明明编译安装了Gtk# 2.8Ubuntu Monodevelop的网页上也说需要2.8怎么这里要2.12版本的呢,
在google.里好多人有和我一样的问题
但都没有好的解决方案,我用 gacutil -l |grep gtk-sharp
gtk-sharp, Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
也证明我的GAC里有gtk-sharp 2.8 这个问题折腾了我好久,***,用了一个我自己也不太喜欢的办法,
我打开原来,Ubuntu Mono1.9.1的gac文件夹,把里的他里面有2.12版本的dll,
我全部复制到新的Ubuntu Mono的gac文件夹里。编译还真的全通过了
直接make run 能运行Ubuntu Monodevelop,但心里总有点
不爽,不知道这里的各位大大,有没有什么好的***的解决方案。
【编辑推荐】