本記事ではこれからC#を学び始める方向けに、.NETとは何なのかについて解説します。
.NETとは?
.NET(ドットネット)とは、Microsoftが提供するアプリケーション開発のための統合プラットフォームです。
「プラットフォーム」とは、開発や実行を支える土台のことで、.NETは、C#等で書いたコードを動かすための仕組みや、周辺ツールをひとまとめにした開発環境一式です。
.NET=C#と混同されやすいのですが、C#はプログラミング言語であり、.NETはその裏側で支える仕組みというイメージです。
.NET上で動く言語はC#以外に、F#やVisual Basicなどがあります。
.NETの構成要素
.NETを支える主要な構成要素を簡単に紹介します。
ランタイム
アプリを動かすために必要な実行環境です。
内部には、プログラムを動かす心臓部である CLR(Common Language Runtime) が含まれており、C#コードの実行時コンパイルやメモリ管理なども担います。
ランタイムには、用途に応じて以下のような種類があります。
- .NET ランタイム(ベースとなるランタイム)
- .NET デスクトップランタイム(Windowsデスクトップアプリ用)
- ASP.NET Core ランタイム(Webアプリ用)
.NET SDK
アプリを作成・ビルド・実行するための開発者向けツールです。
SDK は「開発用のツールセット」、ランタイムは「実行用の環境」という違いがあります。
ライブラリ
数値・文字列などの基本型や List や Dictionary といったコレクション、ファイルやネットワーク通信、日付操作など、アプリ開発に欠かせない機能が揃ったライブラリ群です。
フレームワーク
用途ごとに最適化された開発基盤です。
.NETでは用途に応じた複数のフレームワークが用意されています。
- ASP.NET Core(Webアプリ・API)
- WPF / WinForms(Windowsアプリ)
- .NET MAUI(モバイル・デスクトップ両対応)
NuGet(パッケージ管理)
必要な外部のライブラリをプロジェクトに簡単に組み込めるパッケージ管理ツールです。
NuGetを使えば、パッケージ間の依存関係なども自動で管理してくれます。
.NETの歴史と現在の主流
.NETには「.NET Framework」「.NET Core」など似た名前が多く、初心者が混乱しやすいポイントです。(古い情報を紹介しているサイトも多く、それが混乱に拍車をかけています)
ここでは流れと役割を簡単に説明します。
.NET Framework(2002年〜)
.NET Frameworkは2002年に登場し、長らくWindows向けアプリケーション開発の中心的な存在でした。
Windows Forms や WPF を使ったデスクトップアプリや、ASP.NETを使ったWebアプリなどに広く使われています。
.NET Frameworkの最新バージョンは「4.8.1」で、これが最後のバージョンです。
今後は機能追加などの進化は行われず、セキュリティ更新などの保守サポートのみが続きます。
公式も「新しい製品開発で .NET 8 以降を使用することをお勧めします」と明言していることから、これから作るアプリケーションでは.NET Frameworkの使用は避けましょう。
.NET Core(2016年~2022年)
.NET Coreは、.NET Frameworkの課題を解決する形で2016年に登場しました。
Windowsだけでなく、macOSやLinuxでも動作するクロスプラットフォーム対応となり、軽量で高速なランタイムと、オープンソース化が特徴です。
この時代から、ASP.NET Core や Entity Framework Core などの「Core」系技術が主流になり始めました。
.NET Coreの最終バージョンは 3.1 で、2022年12月に公式サポートが終了しています。
その後は名称が変更され、「.NET 5」以降の統合された.NETに引き継がれています。
.NET 5以降(2020年〜)
2020年に登場した「.NET 5」からは、.NET Framework と .NET Core が統合され、名前もシンプルに「.NET」となりました。
.NETは、Web、デスクトップ、モバイル、API、クラウドなど、あらゆるアプリケーションをC#で開発できる統合プラットフォームです。
バージョンは毎年更新されており、2025年4月時点での最新は「.NET 9」です。
「.NET 6」「.NET 8」などの偶数バージョンはLTS(3年間の長期サポート版)となっており、多くの企業やプロジェクトで採用されています。
今後使うべきは?
これからC#を学ぶ方は、「.NET 8」などの統合された.NETシリーズを使いましょう。
企業ではLTS版を選ぶのが基本ですが、個人の学習用途であれば.NET 9などの最新版でも問題ありません。(LTS版の方が記事等の情報が多いというメリットはあります)
古い.NET Frameworkや.NET Coreは今後バージョンアップされないため、既存システムを保守する場合を除き、選ぶメリットはありません。
.NETで開発できるアプリの種類
.NETを使えば、さまざまな種類のアプリを開発できます。
Webアプリケーション
ASP.NET Core (Razor Pages, MVC, Web API, Blazorなど) を使えば、業務システムやECサイトのようなWebアプリを作ることができます。
デスクトップアプリ
Windows Forms や WPF を使えば、Windows専用のデスクトップアプリが作れます。
.NET MAUI を使えば、macOSなどの他のOSにも対応できます。
モバイルアプリ
.NET MAUIを使えば、iOS / Android 両対応のスマホアプリを1つのコードベースで開発できます。
ゲーム
Unityというゲームエンジンでは、C#がスクリプト言語として使われています。
2D・3Dゲーム、VR/ARなどもC#で開発できます。
AI
Microsoftが提供するAzure OpenAI ServiceやML.NETなどの技術と組み合わせることで、AIを活用したアプリケーションの開発も可能です。
参考ドキュメント



次におすすめの記事
.NETの全体像がつかめたら、実際に手を動かして学んでいきましょう。
C#の環境構築と最初のプログラム実行については以下の記事がおすすめです。