2009-06-04 10 views

答えて

28

Mono Project - .NET FrameworkとCLRのクロスプラットフォーム(主にLinuxを対象としています)の実装を探しています。 CLR(MS .NET)用にコンパイルされたバイナリを実行することも、独自のネイティブLinuxバイナリを作成することもできます。

プロジェクトは現在中途半端ですが、production purposesの場合でも現在のバージョン(2.4)は非常に使いやすいです。現在および将来のリリースの主な機能とマイルストーンの詳細については、project roadmapを参照してください。現在の状態に関する

詳細:

BCL(基本クラスライブラリ)の大多数は、WPFなど.NET 3.0/3.5のもの、(いくつかの例外を除いて、モノラルで提供されていWCF(ほとんど存在しないサポート)。しかし、Silverlight 2.0はMoonlightプロジェクトでサポートされており、進歩は順調です。しかし、WinFormsの機能(バックエンドとしてGTK#を使用しています)は、私が知る限り、かなり完全です。 C#3.0言語の

実装は、ラムダ式のようにC#3.0の機能LINQ、及び自動プロパティを含む、事実上完了する。 C# compilerは、その効率がMSコンパイラの効率と少なくとも同等であるという点で成熟していると思いますが、それはまだいくつかの点では一致していません。 Mono C#コンパイラは、コンパイラサービスを提供しています。つまり、CodeDOMを使用せずにコードから真の動的コンパイルを行うことができます。これはMSがおそらく.NET 5.0で追加するだけのものです。

+0

+1 - Monoを実行している実際のプロダクションサーバーについて知っていますか? – Dror

+0

@Dror:のような意味ですか? – Noldorin

+1

@Dror http://www.mono-project.com/Companies_Using_Mono 例を確認してください – prestomation

4

他のユーザーが既に言ったように、Monoで.NETアプリケーションを実行できます。アプリケーションがプラットフォーム呼び出し(P/Invoke)を使用してネイティブコードを呼び出す場合、ネイティブライブラリのMono実装がない場合、問題が発生する可能性があります。アプリケーションがそれを行うかどうか(またはMonoでまだ実装されていないAPIを使用しているかどうか)を確認するには、Mono Migration Analyzer (MoMA)を使用できます。

関連する問題