Monoは .NET と互換性があると主張しています。
試してみましたか?
実行中の .NET アプリケーションを mono と互換性を持たせるためのヒントやガイドラインを教えてください。
MoMAがあなたを助けてくれるかもしれません
詳細な回答については、次のドキュメントを参照してください。
基本的に、クレイジーなユニットテストです!私はペット プロジェクト ( protobuf-net ) でmono と C# の両方をサポートしており、さまざまなプラットフォームでコンパイルすることさえできて楽しかったです (mono、CF、Silverlight などをサポートしています)。mono には (現在のリリースでも) 多くのコンパイラ バグがあり、特にジェネリックに関連しています。つまり、すべてのフレーバーでコンパイルするには、わずかに異なるコードを使用する必要があるかもしれません。
次に、どのフレームワーク機能が必要かを考える必要があります。たとえば、WPF/WCF/WF などは避けてください。ただし、コア 2.0 機能に固執する場合は、通常は問題ありません。とはいえ、モノが投げる場所はまだたくさんありNotImplementedException
ます。最近の 1 つのケースでは、何かを行うには 2 つの方法がありました。「古い」方法は mono で動作しましたが[Obsolete]
、MS で動作しました。「新しい」バージョンは MS で動作しましたがNotImplementedException
、モノラルでした。楽しい!
次の 2 つの点に注意してください。
派手なことはしないでください。
Mono で動作するとは思わないでください。
Mono は、文字列の操作や Web ページの表示など、日常的に行う作業に非常に優れています。.NET ランタイム ライブラリの隠れた小さなコーナーを使用する必要があることは、本当に苦手です。たとえば、Crypto は 1.1 でまだ実装されており、その一部でさえ実際には機能しません。
要するに、Mono は特効薬ではありません。