Mono初体验

Mono初体验

       最近.NET社区对Mono的热情很高,这也算是微软.NET战略的一个副产品吧。Mono现在的主战场还是在Linux上,可我是个纯粹的Windows程序员,懒得配置一个Linux环境,于是心有不甘地去Mono的老窝逛,发现有Windows的安装程序,于是就下载了一个Mono 1.0.6 for windows。下载的路径是:http://www.mono-project.com/Downloads

安装完成后,在开始菜单里选择Mono Command Prompt,得又回到命令行时代了。用过JAVA的人,应该对Mono的编译和执行方式不陌生。编译是mcs,执行是mono。于是照着前人的例子开始写第一个程序:

using System;

namespace mynamespace

{

       public class HelloWolf

       {

              public static void Main(string [] args)

              {

                     Console.WriteLine("Hello,wolf!");

              }

       }

}

       保存为Hellowolf.cs,然后在命令行里输入:mcs Hellowolf.cs。编译顺利,然后执行mono Hellowolf.exe,一切正常。我试着直接输入Hellowolf.exe,哈,竟然也能正常运行,莫非MonoIL.NET Framework是兼容的?这个问题有待研究。

       好了,接下来该写个窗口了。Mono下可没有System.Windows命名空间,而是用一个叫Gtk的空间替代了,照着例子写下了下面的代码,保存为MyMain.cs

// MyMain.cs

// Copyright (c) 2005,aawolf

//

 

using System;

using Gtk;

 

namespace WolfDemo

{

    public class MyMain

    {

        private Gtk.Window window;

 

        public static void Main (string[] args)

       {

           Application.Init ();

           new MyMain ();

           Application.Run ();

       }

 

        public MyMain()

       { 

           window = new Gtk.Window ("Gtk# Code Demos");

           window.SetDefaultSize (600, 400);

           window.DeleteEvent += new DeleteEventHandler (WindowDelete);

 

           window.ShowAll ();

       }

 

        private void WindowDelete (object o, DeleteEventArgs args)

       {

           Application.Quit ();

           args.RetVal = true;

       }

    }

}

好了,照例执行mcs,可是这次出错了,提示找不到Gtk。我为这事着实花了些工夫,最后才在X:/Mono/lib/mono/gtk-sharp下找到了一个叫gtk-sharp.dll的文件。不敢确定是不是,于是用Reflector看了一下,证明里边确实包含了Gtk命名空间。

于是执行:mcs MyMain.cs –r:d:/mono/lib/mono/gtk-sharp/gtk-sharp.dll

好了,这次终于编译通过,执行mono MyMain.exe,于是Mono的第一个窗口出现了。再试着直接运行MyMain.exe,这次出来的是VS JIT Debugger,毕竟.NET Framework里没有Gtk

好了,第一次这个样子就差不多了,回头慢慢研究J

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值