| 。ネット | |
|---|---|
| 開発者 | .NET Foundationとオープンソースコミュニティ |
| 初回リリース | 2016年6月27日 ( 2016-06-27 ) |
| 安定版リリース | |
| プレビューリリース | |
| リポジトリ | |
| 書かれた | C#、C++、C |
| オペレーティング·システム | クロスプラットフォーム: Windows、Linux、macOS、Android、iOS |
| プラットフォーム | IA-32、x86-64、64ビットARM、Power ISA(ppc64le)、 IBM Z、LinuxONE(s390x)[ 3 ] |
| 前任者 | .NET フレームワーク |
| タイプ | ソフトウェアフレームワーク |
| ライセンス | マサチューセッツ工科大学[ 4 ] |
| Webサイト | ドットネット |
.NETプラットフォーム(「ドットネット」と発音、旧称.NET Core)は、Windows、Linux、macOSオペレーティングシステム向けの無料かつオープンソースのマネージドコンピュータソフトウェアフレームワークです。[ 5 ]これは、.NET Frameworkのクロスプラットフォームな後継です。このプロジェクトは、主にMicrosoftの従業員によって.NET Foundationを通じて開発されており、現在はMITライセンスの下でリリースされています。[ 4 ]
.NETプラットフォームの新バージョンは毎年、通常は11月にリリースされます。.NETの最新バージョンは、2025年11月にリリースされた.NET 10です。これは長期サポート(LTS)バージョンであり、2028年11月まで更新が予定されています。[ 6 ]
1990 年代後半、マイクロソフトはマネージ コードランタイムとプログラミング言語 ( C# ) の開発を開始し、これらをまとめて「.NET プラットフォーム」の一部として宣伝しました。コア ランタイムとソフトウェア ライブラリは.NET Frameworkを構成します。
.NETプラットフォームの中心となるのは.NET Frameworkです。これは、言語間の継承やデバッグなどの重要な機能を備えたWebサービスを構築および実行するための、生産性の高い多言語開発および実行環境です。[ 7 ]
2000年のProfessional Developers ConferenceでC#言語が発表され、そのソフトウェアのプレビュー版が利用可能になった直後、MicrosoftはECMAを通じて、Common Language Infrastructure(共通言語基盤)と名付けた標準化活動を開始しました。その間も 、 Microsoftは独自の実装をプロプライエタリなクローズドソースソフトウェアとして開発とサポートを継続しました。
2014年11月12日、マイクロソフトは.NET Frameworkのオープンソースでクロスプラットフォームな[ 8 ]後継[ 9 ]である.NET Coreを発表し、 .NET Coreの「ライブラリスタック全体」のソースであるCoreCLR実装のソースコードを公開し[ 10 ] 、. NET Foundationの管理下で従来の(「バザール」のような)オープンソース開発モデルを採用することを発表しました。ミゲル・デ・イカサは.NET Coreを「クラスライブラリの簡素化されたバージョンに基づいた.NETの再設計バージョン」と表現し[ 11 ]、マイクロソフトのイモ・ランドワースは.NET Coreが「将来のすべての.NETプラットフォームの基盤となる」と説明しました。発表当時、.NET Coreプロジェクトの初期リリースにはライブラリのソースコードのサブセットが組み込まれており、Microsoftの既存の.NETリファレンスソースがMs-RSLの制限から解放され、ライセンスが変更された時期と一致していました。ランドワース氏は、以前選択された共有ライセンスの欠点を認め、コードネームRotorはオープンソース・イニシアティブ(OSI)承認ライセンスの基準を満たしていなかったため、コミュニティ開発のオープンソースプロジェクトとしては「実現不可能」だったと説明しました。[ 12 ] [ 13 ] [ 14 ]
.NET Core 1.0は、2016年6月27日に、 .NET Core開発を可能にするMicrosoft Visual Studio 2015 Update 3とともにリリースされました。 [ 15 ] [ 16 ] .NET Core 1.0.4と.NET Core 1.1.1は、2017年3月7日に.NET Core Tools 1.0とVisual Studio 2017とともにリリースされました。[ 17 ]
.NET Core 2.0は、Visual Studio 2017 15.3、ASP.NET Core 2.0、 Entity Framework Core 2.0とともに2017年8月14日にリリースされました。 [ 18 ] .NET Core 2.1は2018年5月30日にリリースされました。[ 19 ] .NET Core 2.2は2018年12月4日にリリースされました。[ 20 ]
.NET Core 3は2019年9月23日にリリースされました。[ 21 ] NET Core 3では、Windowsデスクトップアプリケーション開発のサポートが追加され[ 22 ]、基本ライブラリ全体でパフォーマンスが大幅に向上しました。
2020年11月、マイクロソフトは.NET 5.0をリリースした。[ 23 ] .NET Frameworkとの混同を避けるため、「Core」ブランドは廃止され、バージョン4.0はスキップされた。.NET Frameworkの最新リリースでは、2010年以降のすべての重要な(バグ修正以外の)リリースに4.xバージョンが使用されていた。
| バージョン | 発売日 | リリース | 最新のアップデート | 最終更新日 | サポート終了[ 6 ] [ 24 ] [ 25 ] | 生涯サポート |
|---|---|---|---|---|---|---|
| サポート対象外:.NET Core 1.0 | 2016年6月27日[ 26 ] | Visual Studio 2015アップデート 3 | 1.0.16 | 2019年5月14日 | 2019年6月27日 | 3年 |
| サポート対象外:.NET Core 1.1 | 2016年11月16日[ 27 ] | Visual Studio 2017バージョン 15.0 | 1.1.13 | 2019年5月14日 | 2019年6月27日 | 2.5年 |
| サポート対象外:.NET Core 2.0 | 2017年8月14日[ 18 ] | Visual Studio 2017 バージョン 15.3 | 2.0.9 | 2018年7月10日 | 2018年10月1日 | 1.25年 |
| サポート対象外:.NET Core 2.1 | 2018年5月30日[ 19 ] | Visual Studio 2017 バージョン 15.7 | 2.1.30 ( LTS ) | 2021年8月19日 | 2021年8月21日 | 3.25年 |
| サポート対象外:.NET Core 2.2 | 2018年12月4日[ 20 ] | Visual Studio 2019バージョン 16.0 | 2.2.8 | 2019年11月19日 | 2019年12月23日 | 0.9年 |
| サポート対象外:.NET Core 3.0 | 2019年9月23日[ 28 ] | Visual Studio 2019 バージョン 16.3 | 3.0.3 | 2020年2月18日 | 2020年3月3日 | 0.5年 |
| サポート対象外:.NET Core 3.1 | 2019年12月3日[ 29 ] | Visual Studio 2019 バージョン 16.4 | 3.1.32 ( LTS ) | 2022年12月13日 | 2022年12月13日 | 3年 |
| サポート対象外:.NET 5 | 2020年11月10日[ 30 ] | Visual Studio 2019 バージョン 16.8 | 5.0.17 | 2022年5月10日 | 2022年5月10日 | 1.5年 |
| サポート対象外:.NET 6 | 2021年11月8日[ 31 ] | Visual Studio 2022バージョン 17.0 | 6.0.36 ( LTS ) | 2024年11月12日 | 2024年11月12日 | 3年 |
| サポート対象外:.NET 7 | 2022年11月8日[ 32 ] | Visual Studio 2022 バージョン 17.4 | 7.0.20 | 2024年5月28日 | 2024年5月14日 | 1.5年 |
| サポート対象:.NET 8 | 2023年11月14日[ 33 ] | Visual Studio 2022 バージョン 17.8 | 8.0.23 ( LTS ) | 2026年1月13日 | 2026年11月10日 | 3年 |
| サポート対象:.NET 9 | 2024年11月12日[ 34 ] | Visual Studio 2022 バージョン 17.12 | 9.0.12 | 2026年1月13日 | 2026年11月10日 | 2年 |
| 最新バージョン:.NET 10 | 2025年11月11日[ 35 ] | Visual Studio 2026バージョン 18.0 | 10.0.2 ( LTS ) | 2026年1月13日 | 2028年11月14日 | 3年 |
| 将来のバージョン:.NET 11 | 2026年11月(予定) | 2028年11月(予定) | 2年(予定) | |||
| 将来のバージョン:.NET 12 | 2027年11月(予定) | (LTS) | 2030年11月(予定) | 3年(予定) | ||
伝説: サポートされていません サポートされている 最新バージョン プレビュー版 将来のバージョン | ||||||
.NET Core ランタイムは、セマンティック・バージョニング(major.minor.patch形式)を採用しています。メジャーバージョンは、「重要な変更」、API を破る変更、または既存の依存関係のメジャーバージョンが上がった場合に増加します。これは毎年行われるべきです。マイナーバージョンは、API 機能の追加、依存関係の追加、または既存の依存関係のマイナーバージョンが上がった場合に増加します。パッチバージョンは、バグ修正、新しいプラットフォームのサポート、または上記に含まれていないその他の変更に対して提供されます。[ 36 ] 2019年現在、ランタイムバージョンは同じメジャーバージョン番号内では下位互換性があります。例えば、.NET Core 2.2 は .NET Core 2.1 用にビルドされたプログラムを実行できます。同じマイナーバージョンのランタイムバージョン。[ 37 ]この制限は .NET 5 以降緩和されたようです。「ロールフォワード」動作により、正しい設定であれば、どの .NET プログラムでも新しいバージョンで実行できます。[ 36 ]
SDKはセマンティックバージョニングを採用していません。2019年現在、サポートされている最大バージョンより前のすべてのランタイムバージョンをターゲットにすることができます。 [ 37 ] 2020年現在、これは.NET Frameworkランタイムにも拡張されていますが、 NuGetから追加の「ターゲットパック」をダウンロードする必要がある場合があります。[ 38 ] [ 39 ] SDKのメジャーバージョンとマイナーバージョンは、SDKに含まれる、またはSDKと連携しているランタイムのメジャーバージョンとマイナーバージョンと常に一致します。[ 36 ]
Alpine Linuxは主にmusl libcをサポートし使用しており[ 40 ]、.NET Core 2.1以降でサポートされています。[ 41 ]
Windows Arm64は.NET 5以降ネイティブにサポートされています。以前は、ARM上の.NETはx86アーキテクチャ用にコンパイルされ、ARMエミュレーション層を介して実行されるアプリケーションを意味していました。[ 30 ]
Linux .NETは.NET 7以降、ある程度Power ISA上で動作しますが、Microsoftは公式にはサポートを主張していませんが、.NETにはLinuxシステムのPower ISA互換性のためのコードが含まれており、特に64ビットリトルエンディアンバリアントのPower ISAシステム用にコンパイルできます。[ 42 ]

.NETはC#とF#(および3.1以降のC++/CLI。Windowsでのみ有効)を完全にサポートし、 Visual Basic .NET(.NET Core 5.0.100-preview.4のバージョン15.5、および古い.NET Coreでサポートされているいくつかの古いバージョン)をサポートしています。[ 43 ]
VB.NETは.NET上でコンパイル・実行されますが、.NET Core 3.1では独立したVisual Basicランタイムが実装されていません。Microsoftは当初、.NET Core 3にVisual Basicランタイムが含まれると発表していましたが、2年後、サポートのスケジュールは.NET 5に更新されました。[ 44 ] [ 45 ]
.NET は、ASP.NET Core Web アプリ、コマンドライン/コンソール アプリ、ライブラリ、ユニバーサル Windows プラットフォーム アプリというクロスプラットフォームのシナリオをサポートしています。.NET Core 3.0 より前は、Windows 上のデスクトップ ソフトウェアの標準GUIをレンダリングするWindows フォームやWindows Presentation Foundation (WPF) は実装されていませんでした。 [ 46 ]ただし、.NET Core 3 以降では、ユニバーサル Windows プラットフォーム(UWP)とともに実装されるようになりました。[ 47 ]また、 GTKウィジェット ツールキットのGTK#言語バインディングを使用して .NET でクロスプラットフォームのグラフィカル アプリケーションを作成することも可能でしたが、このバインディングは長年メンテナンスされていません。[ 48 ]
.NETはNuGetパッケージの使用をサポートしています。Windows Updateを使用して提供される.NET Frameworkとは異なり、.NETは以前はパッケージマネージャーを介して更新を受け取っていました。[ 46 ]しかし、2020年12月以降、.NETの更新はWindows Update経由でも配信されるようになりました。[ 49 ]
NuGetは、.NETエコシステムにおけるライブラリやツールの主要な配布メカニズムとして機能し、コア機能を拡張するサードパーティ製コンポーネントも含まれています。その中には、SQL Serverのデフォルトサポートを超えたシステムへのデータベース接続を提供するADO.NET互換データプロバイダーがあります。これらのプロバイダーは、Oracle、MySQL、PostgreSQLなどのデータベースへの直接アクセスを可能にし、クロスプラットフォームのデータアクセス、ORMテクノロジとの統合、または特定のデータベース機能のサポートを必要とするアプリケーションで広く使用されています。
.NETの2つの主要コンポーネントはCoreCLRとCoreFXであり、これらは.NET Frameworkの共通言語インフラストラクチャ(CLI)実装の共通言語ランタイム(CLR)とフレームワーククラスライブラリ(FCL)に相当します。[ 50 ]
CLIの仮想実行システム(VES)の実装として、CoreCLRはCLIプログラムのマネージド実行のための完全なランタイムと仮想マシンであり、 RyuJITと呼ばれるジャストインタイムコンパイラが含まれています。 [ 51 ] [ a ] .NET Coreには、 AOTコンパイルされたネイティブバイナリに統合されるように最適化された.NETネイティブランタイムであるCoreRTも含まれています。[ 53 ]
CLIの標準ライブラリの実装として、[ 54 ] CoreFXは.NET Framework APIのサブセットを共有していますが、.NET Frameworkに含まれない独自のAPIも付属しています。[ 46 ] UWPには.NETライブラリのバリアントが使用されています。[ 55 ]
.NETコマンドラインインターフェースはオペレーティングシステムの実行エントリポイントを提供し、コンパイルやパッケージ管理などの開発者向けサービスも提供します。[ 56 ]

.NETマルチプラットフォームアプリUI(.NET MAUI、.NET 6で導入)は、C#と拡張アプリケーションマークアップ言語(XAML)を使用してネイティブモバイルアプリとデスクトップアプリを作成するためのクロスプラットフォームフレームワークであり、[ 57 ] Android、iOS、macOS、Windows、Tizenもサポートしています。

.NETの公式コミュニティマスコットは、.NET Bot(「dotnet bot」または「dotnet-bot」と表記)です。dotnet botは、.NETソースコードがオープンソース化された際に、最初のチェックイン時に開発者のプレースホルダーとして機能しました。[ 58 ]以来、公式マスコットとして使用されています。
...NET Core ランタイムのアップデートは、1.x や 2.x といったメジャーバージョンの範囲内で互換性があります。[...] 「.NET Core 2.1」は .NET Core ランタイムのバージョン番号を指します。.NET Core ランタイムは、セマンティックバージョニングに準拠したメジャー/マイナー/パッチ方式のバージョン管理を採用しています。