古き良き Win2k でサポートされている .NET Framework の最高バージョンは 2.0です。最新の C# アプリケーション (たとえば、LINQ を使用するアプリケーション) を実行したい場合は、Mono フレームワークが解決策になる可能性があります。残念ながら、Mono が Windows 2000 をサポートしているかどうかは不明です。ダウンロード ページには、最新バージョン (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 で動作させるにはどうすればよいですか?