• Linux下.NET开发环境构建


         .net,C#,Asp.Net VisualStudio跟着微软一步步走来,有成功,有喜悦,有收获,但也有一种莫名的危机感,整理思路,规划下未来的道路:花四层左右的时间继续跟着微软的步伐,在比尔教主的大旗下继续开拓疆土,同时花六成左右的时间将重心转移到Linux,Php ,C/C++,分布式文件系统于存储,高并发、大数据量互联网架构上,看上去很多,当然梦想总是有的,只有一步一步往前走了!

       因此这两天转移到linux上折腾一番,把Linux上开发环境搭建起来了,首先是.NET开发环境。mono这个东西早就听说了,引用网上的介绍: Mono是一个由Novell公司(由Ximian发起,并由Miguel de lcaza领导的,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了 ADO NET和ASP NET,能够使得开发人员在Linux用C#开发程序。一句话mono就是Linux上的.netframework。下面介绍mono的安装:

    在下机器的环境ubuntu10.04。

    1、首先到官网下载mono,版本是:mono-2.6.7.tar.bz2

    2、解压、编译、安装

    root@localhost:/home/guoyuanwei/下载 # tar -jxvf mono-2.6.7.tar.bz2

    将解压后的文件夹放到常用的放软件的地方,我的是/usr/mysoft/目录下:root@localhost:/home/guoyuanwei/下载# mv mono-2.6.7 /usr/mysoft/

    root@localhost:/usr/mysoft/mono-2.6.7# ./configure --prefix=/opt/mono这个是配置安装目录,准备将软件安装在/opt/mono下。(特别注意:在configure 编译过程中需要用到g++和其它一些相关的编译工具,在编译过程中可看报错信息,按照报错信息中提示安装所需要的工具。像我这里就有一个错误:configure: error: You need to install bison,意思所缺少bison这个东西,只有先安装在配置了。下载bison-2.5.tar.gz 进行安装。)

    # make

    # make install

    完成mono的安装。运行命令

    root@localhost:/opt/mono/bin# mono 初步测试下看安装是否成功。为了在任何地方都可以运行mono命令,下面修改下环境变量:

    #vim /etc/profile

    在文件末尾加上以下配置:

    MONO_HOME=/opt/mono

    PATH=$MONO_HOME/bin:$PATH

    CLASSPATH=.:$MONO_HOME/lib/

    export MONO_HOME

    export PATH

    export CLASSPATH

    让/etc/profile文件修改后立即生效 ,可以使用如下命令:
    # source /etc/profile

    完成后重新登录,即可在任意位置运行momo命令

    下面通过几个简单程序测试下mono环境安装所否正确

    (1)创建一个hello.cs文件,敲入如下代码:如果熟悉windows下C#开发的话,一看就知道这就windows 下的控制台程序哦!

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

    编译文件: root@localhost:/home/guoyuanwei/GYWStudy# gmcs hello.cs(注意:如果这个时候没有安装gmcs编译器,会提示出错程序“gmcs”尚未安装。  您可以使用以下命令安装:
    apt-get install mono-gmcsgmcs是C#的编译器,支持2.0的运行时,现在最新的好像是4.0的运行时里,命令所dmcs,可以查看官方文档看看2.0的运行时支持哪些C#特性

    编译成功后会生存一个hello.exe的文件,运行下面命令,得到结果。

    # mono hello.exe
    Hello Mono World

    (2)接下来在做个Windows窗体程序的实验。

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

     Windows窗体程序开发,你必须在linux下面安装 System.Windows.Forms这个程序集所在的包,实际上就是一个GUI开发的工具包。不过在Linux下作windows窗体程序的开发,感觉没多大必要。选择mono的原因就所为了利用C#强大的语法特性在linux上开发高效的软件。

    编译:# gmcs hello.cs -pkg:dotnet(注意:这里有一个编译选项-pkg:dotnet,这个是添加程序集的应用,因为我们在程序里面用到了标准的windows窗体程序的命名空间,如果编译出现找不到到包的错误,可能是环境变量的问题,添加一个环境变量PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig,这个是我的mono安装路径,具体情况看你的路径

    运行:# mono hello.exe

    结果弹出一个窗体程序出来。

    (3)Linux上图形界面软件开发GTK#

    
    
    using Gtk;
    using System;
     
    class Hello {
     
            static void Main()
            {
                    Application.Init ();
     
                    Window window = new Window ("helloworld");
                    window.Show();
     
                    Application.Run ();
     
            }
    }
    
    
    

    上面的程序用到了gtk库,所以要安装GTK#才能编译通过,按照配置-》编译-》安装进行。

    root@localhost:/usr/mysoft/gtk-sharp-2.12.11# ./configure --prefix=/opt/gtk-sharp

    配置的过此中我遇到了次错误:

    checking for csc.exe... no
    configure: error: You need to install either mono or .Net

    这个错误害人不浅,搞了我好几个小时,表面上说是找不到csc.exe程序,实际上不是,是因为在配置的过程中找不到mono.pc这个文件所造成的,而这个mono.pc在安装后的mono下面。

    所以需修改环境变量,增加一个PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig在文件etc/profile中。

    # make

    # make install 安转完毕。

    有了此利器,linux下面的图形界面软件开发不再是难事。

     (4)上面的编码,编译,运行都所通过命令行完成,想想强大VisualStudio开发工具,在linux上自然也有,那就是monodevelop








  • 相关阅读:
    数据结构总结(UPDATING......)
    课件例题4.11,4.12
    Luogu P1525 关押罪犯
    Luogu P1540 机器翻译
    Luogu P1313 计算系数
    Luogu P1311 选择客栈
    Luogu P1519 穿越栅栏 Overfencing
    Luogu P2863 [USACO06JAN]牛的舞会The Cow Prom
    Tarjan学习笔记
    Luogu P3393 逃离僵尸岛
  • 原文地址:https://www.cnblogs.com/guoyuanwei/p/2378403.html
Copyright © 2020-2023  润新知