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

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

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

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

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

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

ヒント

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

オペレーティング システム .NET Core 3.1 .NET 5 .NET 6
Windows 11 ✔️ ✔️
Windows Server 2022 ✔️ ✔️
Windows 10 バージョン 21H1 ✔️ ✔️
Windows 10 / Windows Server バージョン 20H2 ✔️ ✔️
Windows 10 / Windows Server バージョン 2004 ✔️ ✔️
Windows 10 / Windows Server バージョン 1909 ✔️ ✔️
Windows 10 / Windows Server バージョン 1903 ✔️ ✔️
Windows 10 バージョン 1809 ✔️ ✔️
Windows 10 バージョン 1803 ✔️ ✔️
Windows 10 バージョン 1709 ✔️ ✔️
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 6 でサポートされているオペレーティング システム、ディストリビューション、ライフサイクル ポリシーについて詳しくは、「.NET 6 Supported OS Versions」 (.NET 6 でサポートされている OS バージョン) をご覧ください。

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

次のバージョンの .NET は、❌ サポート対象外となりました。 これらのダウンロードは、まだ公開されています。

  • .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 のバージョン Architecture SDK ランタイム パスの競合
6.0 Arm64 はい はい いいえ
6.0 X64 Yes はい いいえ
5.0 Arm64 はい はい はい
5.0 X64 いいえ はい はい
3.1 Arm64 いいえ いいえ 該当なし
3.1 X64 いいえ はい はい

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

パスの違い

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

パスの競合

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

パス変数

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

依存関係

.NET 6 では、次の Windows のバージョンをサポートします。

注意

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

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

.NET 6 でサポートされているオペレーティング システム、ディストリビューション、ライフサイクル ポリシーについて詳しくは、「.NET 6 Supported OS Versions」 (.NET 6 でサポートされている OS バージョン) をご覧ください。

Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2

次の 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 Vista SP 2 Microsoft Visual C++ 2015-2019 再頒布可能パッケージ 64 ビット / 32 ビット
Windows 8.1 Microsoft Visual C++ 2015-2019 再頒布可能パッケージ 64 ビット / 32 ビット
Windows Server 2008 R2 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

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

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

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

dotnet-install.ps1 -Channel 6.0 -Runtime aspnetcore

-Runtime スイッチを省略して SDK をインストールします。 この例では、-Channel スイッチが Current に設定されているため、サポートされている最新バージョンがインストールされます。

dotnet-install.ps1 -Channel Current

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

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

.NET SDK バージョン Visual Studio のバージョン
6.0 Visual Studio 2022 バージョン 17.0 以降
5.0 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 with .NET Core workload

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 インストーラーの実行可能ファイルが用意されています。

Windows インストーラーを使用して .NET をインストールする場合、DOTNETHOME_X64 および DOTNETHOME_X86 パラメーターを設定することによってインストール パスをカスタマイズできます。

dotnet-sdk-3.1.301-win-x64.exe DOTNETHOME_X64="F:\dotnet\x64" DOTNETHOME_X86="F:\dotnet\x86"

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

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

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

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

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

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

ヒント

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

手動でダウンロードしてインストールする

.NET 用 Windows インストーラーの代わりに、SDK またはランタイムをダウンロードして手動でインストールすることもできます。 手動インストールは、通常、継続的インテグレーション テストの一環として行われます。 開発者またはユーザーの場合、通常はインストーラーを使用することをお勧めします。

.NET SDK と .NET ランタイムはどちらも、ダウンロード後に手動でインストールできます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 まず、次のいずれかのサイトから SDK またはランタイムのバイナリ リリースをダウンロードします。

.NET を抽出するためのディレクトリを作成します (%USERPROFILE%\dotnet など)。 次に、ダウンロードした zip ファイルをそのディレクトリに抽出します。

既定では、この方法でインストールされた .NET は、.NET CLI コマンドおよびアプリから使用されないため、使用することを明示的に選択する必要があります。 これを行うには、アプリケーションの起動に使用する環境変数を変更します。

set DOTNET_ROOT=%USERPROFILE%\dotnet
set PATH=%USERPROFILE%\dotnet;%PATH%
set DOTNET_MULTILEVEL_LOOKUP=0

この方法では、複数のバージョンを別々の場所にインストールして、その場所を参照する環境変数を使ってアプリケーションを実行することで、アプリケーションによって使用されるインストール場所を明示的に選択できます。

DOTNET_MULTILEVEL_LOOKUP0 に設定されている場合、.NET により、グローバルにインストールされている .NET のバージョンはすべて無視されます。 アプリケーションを実行するための最適なフレームワークを選択するときに、.NET によりグローバル インストールの既定の場所が考慮されるようにするには、その環境設定を削除します。 通常、既定値は C:\Program Files\dotnet です。インストーラーによってここに .NET がインストールされます。

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 start menu with edit environment variable

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

    The Windows system properties panel open.

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

    The environment variables window with user and system variables.

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

    The environment variables list for the system.

次のステップ