Windows に .NET をインストールする

この記事では、Windows に .NET をインストールする方法について説明します。 .NET は、ランタイムと SDK で構成されています。 ランタイムは .NET アプリを実行するために使用され、アプリに含まれている場合と含まれていない場合があります。 SDK は、.NET アプリとライブラリの作成に使用されます。 .NET ランタイムは、常に SDK と共にインストールされます。

.NET の最新バージョンは 7 です。

サポートされるリリースには、長期サポート (LTS) リリースと Standard Term Support (STS) の 2 種類があります。 すべてのリリースの品質は同じです。 唯一の違いは、サポートの長さです。 LTS リリースでは、3 年間無料のサポートとパッチが提供されます。 STS リリースでは、18 か月間の無料サポートとパッチが提供されます。 詳細については、「 .NET サポート ポリシー」を参照してください。

次の表に、.NET (および .NET Core) の各バージョンのサポート状態を示します。

✔️ Supported ❌ サポートされていない
7 (STS) 5
6 (LTS) 3.1
3.0
2.1
2.0
1.1
1.0

Windows パッケージ マネージャー (winget) を使用してインストールする

winget ツールを使用して、Windows パッケージ マネージャー サービスを介して .NET をインストールして管理できます。 winget をインストールして使用する方法の詳細については、winget ツールの使用に関する記事を参照してください。

.NET システム全体をインストールする場合は、管理者特権でインストールします。

SDK のインストール

.NET SDK を使用すると、.NET を使用してアプリを開発できます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。

winget install Microsoft.DotNet.SDK.7

ランタイムをインストールする

Windows の場合、インストールできる .NET ランタイムは 3 つあります。 すべての種類の .NET アプリとの互換性を実現するには、.NET デスクトップ ランタイムと ASP.NET Core ランタイムの両方をインストールする必要があります。

  • .NET デスクトップ ランタイム

    このランタイムには、基本 .NET ランタイムが含まれ、Windows Presentation Foundation (WPF) と、.NET を使って構築される Windows フォーム アプリをサポートしています。 これは、Windows に付属する .NET Framework とは異なります。

    winget install Microsoft.DotNet.DesktopRuntime.7
    
  • ASP.NET Core ランタイム

    このランタイムには基本 .NET ランタイムが含まれており、Web サーバー アプリを実行します。 ASP.NET Core ランタイムを使用すると、ランタイムを提供しない .NET を使用して作成されたアプリを実行できます。 次のコマンドを実行すると、.NET の最も互換性の高いランタイムである ASP.NET Core ランタイムがインストールされます。 ご利用のターミナルで、次のコマンドを実行します。

    winget install Microsoft.DotNet.AspNetCore.7
    
  • .NET ランタイム

    これは基本ランタイムであり、コンソール アプリの実行に必要なコンポーネントのみが含まれています。 通常は、他のランタイムもインストールします。

    winget install Microsoft.DotNet.Runtime.7
    

ランタイムのプレビュー バージョンをインストールするには、6 などのバージョン番号を単語 Preview に置き換えます。 次の例では、.NET デスクトップ ランタイムのプレビュー リリースがインストールされます。

winget install Microsoft.DotNet.DesktopRuntime.Preview

Visual Studio Code と共にインストールする

Visual Studio Code は、デスクトップ上で動作する強力で軽量なソース コード エディターです。 Visual Studio Code は、Windows、macOS、Linux で利用できます。

Visual Studio Code には、Visual Studio のような自動化された .NET Core インストーラーは付属していませんが、.NET Core のサポートを簡単に追加できます。

  1. Visual Studio Code をダウンロードしてインストールします
  2. .NET SDK をダウンロードしてインストールします
  3. Visual Studio Code マーケットプレースから C# 拡張機能をインストールします

Windows インストーラーを使用したインストール

.NET のダウンロード ページには、Windows インストーラーの実行可能ファイルが用意されています。

[重要]2021 年 11 月以降、Windows インストーラー パッケージを使用して .NET のインストール パスを変更することはできません。 .NET を別のパスにインストールするには、 dotnet-install スクリプトを使用します

運用環境で、または継続的インテグレーションをサポートするために .NET をサイレント インストールする場合は、次のスイッチを使用します。

  • /install
    .NET をインストールします。

  • /quiet
    UI やプロンプトが表示されないようにします。

  • /norestart
    再起動の試行を抑制します。

dotnet-sdk-7.0.100-win-x64.exe /install /quiet /norestart

詳細については、「インストーラーの標準コマンドライン オプション」を参照してください。

ヒント

成功した場合は、インストーラーから終了コード 0 が返されます。再起動が必要であることを示す場合は、終了コード 3010 が返されます。 その他の値は通常、エラー コードです。

PowerShell オートメーションを使用してインストールする

dotnet-install スクリプトは、ランタイムの CI 自動化および管理者以外によるインストールに使用されます。 スクリプトは、dotnet-install スクリプト参照ページからダウンロードできます。

このスクリプトを使用すると、最新の長期サポート (LTS) バージョン (.NET 6) が既定でインストールされます。 Channel スイッチを指定することで、特定のリリースを選択できます。 ランタイムをインストールするには、Runtime スイッチを含めます。 それ以外の場合は、スクリプトによって SDK がインストールされます。

次のコマンドは、互換性を最大限に高める ASP.NET Core ランタイムをインストールします。 ASP.NET Core ランタイムには、標準の .NET ランタイムも含まれています。

dotnet-install.ps1 -Channel 7.0 -Runtime aspnetcore

-Runtime スイッチを省略して SDK をインストールします。 -Channelこの例では、スイッチが にSTS設定されています。これにより、最新の Standard Term Support バージョン (.NET 7) がインストールされます。

dotnet-install.ps1 -Channel STS

Visual Studio を使用してインストールする

次の表で、Visual Studio を使用して .NET アプリを開発している場合に、ターゲットの .NET SDK バージョンに基づいて最低限必要な Visual Studio のバージョンを説明しています。

.NET SDK バージョン Visual Studio のバージョン
7 Visual Studio 2022 バージョン 17.4 以降。
6 Visual Studio 2022 バージョン 17.0 以降
5 Visual Studio 2019 バージョン 16.8 以降。
3.1 Visual Studio 2019 バージョン 16.4 以降。
3.0 Visual Studio 2019 バージョン 16.3 以降。
2.2 Visual Studio 2017 バージョン 15.9 以降。
2.1 Visual Studio 2017 バージョン 15.7 以降。

Visual Studio を既にインストールしてある場合は、次の手順でバージョンを確認できます。

  1. Visual Studio を開きます。
  2. [ヘルプ]>[Microsoft Visual Studio のバージョン情報] を選択します。
  3. [バージョン情報] ダイアログで、バージョン番号を確認します。

Visual Studio には、最新の .NET SDK とランタイムをインストールできます。

ワークロードを選択する

Visual Studio をインストールまたは変更するときは、ビルドするアプリケーションの種類に応じて、次の 1 つ以上のワークロードを選択します。

  • [他のツールセット] セクションの [.NET Core クロスプラットフォームの開発] ワークロード。
  • [Web とクラウド] セクションの [ASP.NET と Web 開発] ワークロード。
  • [Web とクラウド] セクションの [Azure の開発] ワークロード。
  • [デスクトップとモバイル] セクションの [.NET デスクトップ開発] ワークロード。

Windows Visual Studio 2019 と .NET Core ワークロード

サポートされているリリース

以下の表は、現在サポートされている .NET リリースと、それらがサポートされている Windows のバージョンの一覧です。 これらのバージョンは、.NET のバージョンがサポート終了するか、Windows のバージョンの有効期限が切れるまでサポートされます。

Windows 10 のバージョンのサービス終了日は、エディションごとに分かれています。 次の表では、HomeProPro EducationPro for Workstations の各エディションだけが考慮されています。 具体的な詳細については、「Windows ライフサイクルのファクト シート」を確認してください。

ヒント

+ 記号は、最小バージョンを表します。

オペレーティング システム .NET 7 .NET 6
Windows 11 ✔️ ✔️
Windows Server 2022 ✔️ ✔️
Windows Server バージョン 1903 以降 ✔️ ✔️
Windows 10 バージョン 1607 以降 ✔️ ✔️
Windows 8.1 ✔️
Windows 7 SP1 ESU ✔️
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️
Windows Server Core 2012 R2 ✔️ ✔️
Windows Server Core 2012 ✔️ ✔️
Nano Server バージョン 1809 以上 ✔️ ✔️
Nano Server バージョン 1803

.NET 7 でサポートされているオペレーティング システム、ディストリビューション、ライフサイクル ポリシーの詳細については、「 .NET 7 でサポートされる OS バージョン」を参照してください。

サポートされていないリリース

次のバージョンの .NET は、❌ サポート対象外となりました。

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

ランタイムに関する情報

ランタイムは、.NET で作成されたアプリを実行するために使用されます。 アプリの作成者は、アプリを公開するとき、アプリにランタイムを含めることができます。 ランタイムが含まれていない場合は、ユーザーがランタイムをインストールする必要があります。

Windows には、3 つの異なるランタイムをインストールできます。

  • ASP.NET Core ランタイム
    ASP.NET Core アプリを実行します。 .NET ランタイムが含まれます。

  • Desktop ランタイム
    Windows 用の .NET WPF と Windows フォームのデスクトップ アプリを実行します。 .NET ランタイムが含まれます。

  • .NET ランタイム
    このランタイムは最も単純なランタイムであり、他のランタイムは含まれていません。 .NET アプリとの互換性を最善にするには、"ASP.NET Core ランタイム" と "Desktop ランタイム" の両方をインストールすることを強くお勧めします。

SDK に関する情報

SDK は、.NET アプリとライブラリを作成して公開するために使用されます。 SDK のインストールには、次の 3 つのランタイムが含まれます: ASP.NET Core、Desktop、.NET。

Arm ベースの Windows PC

次のセクションでは、Arm ベースの Windows PC に .NET をインストールするときに考慮する必要がある点について説明します。

サポートされる操作

次の表は、Arm ベースの Windows PC でサポートされている .NET のバージョンを示します。

.NET のバージョン アーキテクチャ SDK ランタイム パスの競合
7 Arm64 はい はい いいえ
7 X64 はい はい いいえ
6 Arm64 はい はい いいえ
6 X64 はい はい いいえ
5 Arm64 はい はい はい
5 X64 いいえ はい はい

.NET 6 以降では、x64 バージョンと Arm64 バージョンの .NET SDK は互いに独立して存在します。 新しいバージョンがリリースされた場合は、各アーキテクチャのインストールをアップグレードする必要があります。

パスの違い

Arm ベースの Windows PC では、Arm64 バージョンのすべての .NET が、通常の C:\Program Files\dotnet\ フォルダーにインストールされます。 ただし、 x64 バージョンの .NET 6 SDK または .NET 7 SDK をインストールすると、 C:\Program Files\dotnet\x64\ フォルダーにインストールされます。

パスの競合

.NET 6 以降では、前のセクションで説明したように、 x64 .NET SDK は独自のディレクトリにインストールされます。 これにより、Arm64 バージョンと x64 バージョンの .NET SDK を同じコンピューター上に存在できます。 ただし、6 より前の x64 SDK はサポートされておらず、Arm64 バージョンの C:\Program Files\dotnet\ フォルダーと同じ場所にインストールされます。 サポートされていない x64 SDK をインストールする必要がある場合は、先に Arm64 バージョンをアンインストールする必要があります。 反対も同様で、Arm64 バージョンをインストールするには、サポートされていない x64 SDK をアンインストールする必要があります。

パス変数

.NET SDK の x64 バージョンと Arm64 バージョンの両方がインストールされている場合は、システム パスに .NET を追加する環境変数 (変数など PATH ) を変更する必要がある場合があります。 さらに、一部のツールは環境変数に DOTNET_ROOT 依存しています。これは、適切な .NET SDK インストール フォルダーを指すためにも更新する必要があります。

依存関係

.NET 7 では、次の Windows バージョンがサポートされています。

注意

+ 記号は、最小バージョンを表します。

OS バージョン アーキテクチャ
Windows 11 21H2 以降 x64、Arm64
Windows 10 クライアント 1607+ x64、x86、Arm64
Windows Server 2012+ x64、x86
Windows サーバー コア 2012+ x64、x86
Nano Server 1809+ X64

.NET 7 でサポートされているオペレーティング システム、ディストリビューション、ライフサイクル ポリシーの詳細については、「 .NET 7 でサポートされる OS のバージョン」を参照してください。

Windows 7 / 8.1 / Server 2012

次の Windows のバージョンに .NET SDK またはランタイムをインストールする場合は、さらに依存関係が必要になります。

オペレーティング システム 前提条件
Windows 7 SP1 ESU - Microsoft Visual C++ 2015-2019 再頒布可能パッケージ 64 ビット / 32 ビット
- KB3063858 64 ビット / 32 ビット
- Microsoft Root Certificate Authority 2011 (.NET Core 2.1 のオフライン インストーラーのみ)
Windows 8.1 Microsoft Visual C++ 2015-2019 再頒布可能パッケージ 64 ビット / 32 ビット
Windows Server 2012 Microsoft Visual C++ 2015-2019 再頒布可能パッケージ 64 ビット / 32 ビット
Windows Server 2012 R2 Microsoft Visual C++ 2015-2019 再頒布可能パッケージ 64 ビット / 32 ビット

上記の要件は、次のいずれかの dll に関するエラーが発生した場合にも必要です。

  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-cor-timezone-l1-1-0.dll
  • hostfxr.dll

Docker

コンテナーを使用すると、アプリケーションをホスト システムの他の部分から簡単に分離できます。 同じコンピューター上のコンテナーでは、カーネルだけが共有され、アプリケーションに提供されたリソースが使用されます。

.NET は Docker コンテナー内で実行できます。 公式の .NET Docker イメージは Microsoft Container Registry (MCR) に公開され、Microsoft .NET の Docker Hub リポジトリで見つけられます。 各リポジトリには、.NET (SDK またはランタイム) と自分が使用できる OS のさまざまな組み合わせのイメージが含まれています。

Microsoft は、特定のシナリオに対応したイメージを用意しています。 たとえば、ASP.NET Core リポジトリには、運用環境での ASP.NET Core アプリの実行用にビルドされたイメージが用意されています。

Docker コンテナー内で .NET を使用する方法の詳細については、「.NET および Docker の概要」とサンプルページを参照してください。

トラブルシューティング

.NET SDK をインストールした後、.NET CLI コマンドを実行しようとしたときに問題が発生することがあります。 このセクションにはそのような一般的な問題がまとめてあり、それらの解決策を提供します。

インストールされた .NET Core SDK が見つからなかった

ほとんどの場合、.NET SDK の x86 (32 ビット) と x64 (64 ビット) の両方のバージョンをインストールします。 これにより、dotnet コマンドを実行すると、x64 バージョンに解決する必要がある場合に x86 バージョンに解決されるため、競合が発生します。 これは通常、x64 バージョンを最初に解決するように %PATH% 変数を調整することによって解決されます。

  1. where.exe dotnet コマンドを実行して、両方のバージョンがインストールされていることを確認します。 そうすると、Program Files\Program Files (x86)\ 両方のフォルダーのエントリが表示されるはずです。 Program Files (x86)\ フォルダーが次の例のように最初に表示される場合は、正しくないので、次のステップを続ける必要があります。

    > where.exe dotnet
    C:\Program Files (x86)\dotnet\dotnet.exe  
    C:\Program Files\dotnet\dotnet.exe
    

    Program Files\ が正しく最初に表示される場合は、このセクションで説明している問題ではないので、GitHub で .NET のサポート要求のイシューを作成する必要があります

  2. [Windows] ボタンをクリックし、検索に「システム環境変数の編集」と入力します。 [システム環境変数の編集] を選びます。

    環境変数の編集を示す Windows スタート メニュー

  3. [システムのプロパティ] ウィンドウの [詳細設定] タブが表示されます。[環境変数] を選びます。

    開いている Windows [システム プロパティ] パネル

  4. [環境変数] ウィンドウの [システム変数] グループで、Path* の行を選び、[編集] ボタンを選びます。

    ユーザーとシステム変数を示す [環境変数] ウィンドウ

  5. [上へ移動] および [下へ移動] ボタンを使って、C:\Program Files\dotnet\ エントリを C:\Program Files (x86)\dotnet\ より上に移動します。

    システムの [環境変数] 一覧

次のステップ