c# – Windows 2000 SP4上的Mono

前端之家收集整理的这篇文章主要介绍了c# – Windows 2000 SP4上的Mono前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在好的旧Win2k,the highest supported version of the .NET Framework is 2.0.如果想运行现代C#应用程序(例如,使用LINQ),Mono Framework可能是解决方案.不幸的是,目前尚不清楚Mono是否支持Windows 2000. Download page表示最新版本(3.0.1-beta)“适用于所有版本的Windows XP,2003,Vista和Windows 7”,但安装程序显示的发行说明声称“此版本在Windows 2000或更高版本上运行” .

作为一个快速测试,我尝试使用不同版本的Mono(2.0,2.10.9,3.0.1-beta)在Win2k盒子上编译并运行以下代码

// Test.cs
using System;
using System.Linq;

public static class Test
{
  public static void Main()
  {
    Console.WriteLine(Environment.Version);
    int[] numbers1 = { 5,4,1,3,9,8,6,7,2,0 };
    var numbers2 = from number in numbers1 where number < 5 select number;
    Func<int,int> negate = number => -1 * number;
    foreach (var number in numbers2)
      Console.WriteLine(negate(number));
  }
}

我打开Mono命令提示符,将工作目录更改为Test.cs,并尝试通过mcs Test.cs编译它.

>旧版本2.0工作,我只需要使用gmcs
而不是mcs.我可以在Mono上成功运行可执行文件
2.0. (当我尝试在.Net 2.0上运行它时,我得到了一个例外,正如我所料.)
>如果是版本2.10.9和3.0.1-beta,
什么都没发生:没有创建exe并且没有显示错误消息.这些版本适用于Windows XP,我可以编译代码并运行可执行文件.

问题:
Windows 2000仍然支持Mono吗?版本2.0和3.0之间的Mono发生了什么,这可以解释上面提到的编译问题?如何才能使最新版本在Win2k上运行?

解决方法

您不需要比.NET 2.0更新的东西来获得大多数漂亮的.NET 3.5功能.
即使面向.NET 2.0,Visual Studio 2008-2012中包含的C#3编译器也支持类型推断,lambda方法等.

但这里是重要的链接(双关语;)):http://code.google.com/p/linqbridge/LinqBridge为您提供.NET 2.0上完整的Linq-to-Objects支持.

原文链接:https://www.f2er.com/csharp/99917.html

猜你在找的C#相关文章