.NET フレームワークは、Linux、Unix、MAC などのオペレーティング システムにインストールできますか?
6 に答える
.Net自体は、ほとんどの Microsoft ソフトウェアと同様に、プラットフォームに 100%依存しています。Microsoft が提供する環境 (Windows やそのさまざまなフレーバーなど)でのみ機能します。それ以外 (Mac、Linux など) 用の公式の .Net はありません。
しかし...
一部のプラットフォームでは、MS ソフトウェアを実行するための代替手段やエミュレーターなどを開発しようとしています。Monoは、Nick が投稿したように、Linux で実行する .Net コードをサポートする Linux プロジェクトです。
しかし、Mono は.Netではありません。.Net との 100% の互換性を維持しようとする、さまざまな人によって作成された、さまざまなソフトウェアです (そして、実際には非常に素晴らしいものです)。ただし、Microsoft によって提供またはサポートされていません。
また、オープンソースで無料のソフトウェアである Monoは、プラットフォームに依存せず、任意のプラットフォームに移植できます (現在、Linux だけでなく、いくつかのプラットフォームを既にサポートしています)。
したがって、技術的に言えば、正しい答えは次のようになります。
Microsoft が提供する .Net フレームワークは、プラットフォームにまったく依存しません。LinuxまたはMacのいずれにもインストールできません
しかし、独立した互換性のある .Net 実装である Mono はサポートされており、Linux と Mac の両方、および他のいくつかのプラットフォームにインストールできます。そして、それを使用して.Netで記述されたコードを実行します
Linux には、Mono
Linux 用の .Net ランタイムである があります。他のOSについてはわかりません。
とにかく、プラットフォームに依存しないのは、MSIL にコンパイルされているため、どのプラットフォームでもランタイムを実装してサポートできるという事実です。
.Net Micro Frameworkと呼ばれる小さな組み込みデバイス用の実装もあります。
.Net は、2 つの別個の部分として見ることができます。1 つはECMA 標準化された CLIで、もう 1 つはCLRです。CLR は、Microsoft による CLI の実装です。
CLI は、Windows (x86、x64、ia64、現在は ARM)、XBox、Zune、携帯電話、組み込みデバイス (小さなチップ)など、多くのデバイスで実行できます。Mono / Moonlightは CLI の実装であり、Microsoft が Novell を通じて部分的に資金を提供している CLR の一部です。Microsoft はこの作業をサポートし、支援するためにソース コードをリリースします。Mono を通じて、ほとんどのオペレーティング システムと CPU の種類にアクセスできます。
.Net コードを、CPU で直接実行できるプラットフォームに依存しないコードに直接コンパイルできるコンパイラもあります。C# で独自のオペレーティング システムを作成する場合に便利です。(名前は覚えていませんが、興味があればいくつかのリンクを Google で検索できます。)
CLI は、プラットフォームや言語に依存しないように設計されています。さまざまな実装により、ほとんどのオペレーティング システムと CPU で適切に動作します。実際には、これは、たとえば、大文字と小文字を区別する/区別しない変数などの言語機能をサポートし (さらにその他の機能)、ほとんどの CPU と互換性のある命令セットを備えていることを意味します (CLI マシン コードは、ほとんどの CPU が提供する命令に似ています)。
.Net の実装 (質問に答える概要):
- Microsoft .Net フレームワーク: Windows
- Microsoft .Net Compact Framework : Windowsm Xbox、Zune、モバイル デバイス
- Microsoft .Net Micro Framework : 組み込み/非常に限られたデバイス
- モノ: Unix、Linux、Windows、Mac
あなたの非常に正確な質問に対する答えはノーです。「これらの OS で .net プログラムを実行できますか」という質問に対する回答は異なります。そして、それはMAYBEです。他の人が書いたように、モノを探してください。
補足(これは後で編集されます)
私の答えは完全ではなかったと今は思います。「はい。wine をインストールしてから .net フレームワークをインストールします」と答えるべきでした。ここに例のリンクがあります (ubuntu および .net 2.0 用): http://ubuntuforums.org/showthread.php?t=943298
はい、これはおそらくOPが知りたかったことに対する答えではないことを知っていますが、少なくとも彼が尋ねたことに対する部分的な答えです.