.NET 実装

.NET アプリは、1 つまたは複数の .NET の実装" 向けに開発されます。 .NET の実装には、.NET Framework、.NET 5 以降 (および .NET Core)、Mono が含まれます。

各 .NET 実装には、次のコンポーネントが含まれています。

  • 1 つ以上のランタイム。.NET Framework CLR や .NET 8 CLR など。
  • クラス ライブラリ。.NET Framework 基本クラス ライブラリや .NET 8 基本クラス ライブラリなど。
  • 必要に応じて、1 つ以上のアプリケーション フレームワーク ー たとえば ASP.NETWindows FormsWindows Presentation Foundation (WPF) などが .NET Framework と .NET 5 以降に含まれています。
  • 必要に応じて、開発ツール。 一部の開発ツールは、複数の実装間で共有されます。

Microsoft によって、次の 4 つの .NET 実装がサポートされています。

  • .NET 6 以降のバージョン
  • .NET Framework
  • Mono
  • UWP

以前に .NET Core と呼ばれていた .NET は、現在、プライマリ実装です。 .NET (8) は、複数のプラットフォームと、Windows デスクトップ アプリ、クロスプラットフォーム コンソール アプリ、クラウド サービス、Web サイトなどの多くのワークロードをサポートする、単一のコード ベースを基にして構築されています。 .NET WebAssembly ビルド ツールなどの一部のワークロードは、オプションのインストールとして入手できます。

.NET 5 以降のバージョン

以前に .NET Core と呼ばれていた .NET は .NET のクロスプラットフォーム実装であり、サーバーとクラウドのワークロードをその規模に応じて処理するように設計されています。 また、デスクトップ アプリなどの他のワークロードもサポートされています。 Windows、macOS、および Linux で実行されます。 .NET Standard が実装されているので、.NET Standard をターゲットとするコードは .NET 上で実行できます。 ASP.NET CoreWindows フォームWindows Presentation Foundation (WPF) はすべて、.NET で実行されます。

.NET 8 は、この .NET 実装の最新バージョンです。

詳細については、次のリソースを参照してください。

.NET Framework

.Net Framework は、2002 年からリリースされている元の .NET 実装です。 バージョン 4.5 以降では .NET Standard が実装されているので、.NET Standard をターゲットとするすべてのコードが .NET Framework 4.5 以降で実行できます。 Windows フォームと WPF での Windows デスクトップ開発用 API など、追加の Windows 固有 API が含まれます。 .NET Framework は、Windows デスクトップ アプリケーション開発用に最適化されています。

詳細については、.NET Framework ガイドに関する記事を参照してください。

Mono

Mono は、主に小規模なランタイムが必要な場合に使用される .NET 実装です。 Android、macOS、iOS、tvOS、および watchOS 上の Xamarin アプリケーションで利用されるランタイムで、フットプリントが小さいことに重点を置いています。 Mono は、Unity エンジンを使用して構築されたゲームでも利用されます。

現在公開されているすべての .NET Standard バージョンをサポートしています。

これまで Mono は .NET Framework の多数の API を実装し、Unix で人気の高い機能の一部をエミュレートしていました。 また、Unix のそのような機能に依存する .NET アプリケーションを実行するために使用されることもあります。

一般的に Mono は、Just-In-Time コンパイラと共に使用されますが、iOS のようなプラットフォームに使用される完全な静的コンパイラ (Ahead Of Time コンパイル) としても機能します。

詳細については、Mono のドキュメントを参照してください。

ユニバーサル Windows プラットフォーム (UWP)

UWP は、モノのインターネット (IoT) 用に最新のタッチ対応の Windows アプリケーションとソフトウェアを構築するために使われる .NET 実装です。 PC、タブレット、携帯電話、Xbox など、ターゲットにされる可能性があるさまざまな種類のデバイスを統一するように設計されています。 UWP は、一元的なアプリ ストア、実行環境 (AppContainer)、Win32 の代わりに使う Windows API のセット (WinRT) など、多くのサービスを提供します。 アプリは、C++、C#、Visual Basic、および JavaScript で記述することができます。

詳細については、ユニバーサル Windows プラットフォームの概要に関する記事を参照してください。