zoukankan      html  css  js  c++  java
  • CentOS 7 之安装Mono&MonoDevelop

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

    由于园子里这篇文章主要是使用yum安装的,于是我想用源码来安装,于是我先在Linux公社找到了这篇文章。根据作者的说明及经验,我先下载了几个包到/usr/local/src下面。

    wget http://download.mono-project.com/sources/mono/mono-4.0.1.tar.bz2
    wget http://download.mono-project.com/sources/monodevelop/monodevelop-5.9.0.431.tar.bz2
    wget http://download.mono-project.com/sources/mono-addins/mono-addins-1.1.tar.gz
    wget http://download.mono-project.com/sources/gtk-sharp212/gtk-sharp-2.12.26.tar.gz
    wget http://download.mono-project.com/sources/gnome-sharp2/gnome-sharp-2.24.1.tar.bz2
    wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-3.12.tar.gz

    接下来就是我的折腾开始,先装mono-4.0.1

    先提示我

    error: no acceptable C compiler found in $PATH

    于是我先后使用以下两个补全包后,才./configure --prefix=/usr/local && make && make install 成功。

    [root@51xyd ~]# yum -y install gcc
    
    [root@51xyd ~]# yum -y install gcc-c++

    为了验证,我使用了mono --version查看了一下,应该算安装成功了。

    [root@51xyd hello]# mono --version
    Mono JIT compiler version 4.0.1 (tarball Sat May 23 13:38:56 CST 2015)
    Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS: __thread
    SIGSEGV: altstack
    Notifications: epoll
    Architecture: amd64
    Disabled: none
    Misc: softdebug 
    LLVM: supported, not enabled.
    GC: sgen
    [root@51xyd hello]#

    接下来,我想安装接下来的5个包,无一成功, 其中有一项的时候,还出现提示说

    No package 'glib-2.0' found

    于是我使用

    yum install libgnomeui-devel

    来解决,不过,最终还是没有完全安装成功。

    弄了好久,最后我决定就去官网按官方说明来操作一遍。

    1,

    rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
    yum-config-manager --add-repo http://download.mono-project.com/repo/centos/

    2,

    yum install -y mono-devel
    yum install -y  mono-complete 
    yum install -y referenceassemblies-pcl

    3, 

    yum install monodevelop

    没有出现错误,但是点击却是没有任何反应的。时间到了下午了,不想再折腾了,准备先用mono测试一下.NET了。于是新建一个~/Downloads/hello的目录

    然后vim hello.cs,输入

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

    :wq!退出

    接着又vim hellowin.cs,并且输入

    using System;
    using System.Windows.Forms;
    
    public class HelloWorld : Form
    {
        static public void Main ()
        {
            Application.Run (new HelloWorld ());
        }
    
        public HelloWorld ()
        {
            Text = "Hello Mono World";
        }
    }

    :wq!

    接着

    成功在centos7上开发c#程序了。

     休息了一会儿,继续打发开电脑,在Systemtool里面查看安装的一些软件,试着把我上面5个没安装成功安装的软件安装上去。

    然后我重新打开monodevelop,这时有反应了,不过还有一个错误

    我试着想用我的下载的源码包去修复这个问题,但提示说

    error CS0006: Metadata file `Mono.GetOptions.dll' could not be found

    Bing.com之后有人说是

    经过调查,
    1.  原来是gnome-sharp版本太旧的原因,
        前面用的gnome-sharp-2.20.*用了Mono.GetOptions,更新至gnome-sharp-2.24.*
    2.  注释掉gnome-sharp-2.24.1/sample/gnomevfs/Makefile中关于 Mono.GetOptions的内容

    但我注释掉后,没有成功解决这个问题,然后我也上网上找了一个版本

    wget http://dl.fedoraproject.org/pub/epel/7/x86_64/g/gnome-sharp-2.24.2-7.el7.x86_64.rpm

     安装完之后,也没有解决这个问题。

    但是至少是可以打开了,而且也可以编译,输出。最后上图。

     

                                 

  • 相关阅读:
    JSON的一个例子(代码来源于网上)
    浅谈Event Flow、Process、Method及其Applications
    JS中object与constructor的分析
    浅谈for...in与for....of
    浅谈语言的过去与未来
    正则表达式的四个小应用
    初步了解DOM与BOM
    String Method的字符串变换的一个例子
    update 批量更新
    一个 Tomcat下两个项目。
  • 原文地址:https://www.cnblogs.com/SLKnate/p/linux_centos7_mono_monodevelop.html
Copyright © 2011-2022 走看看