Visual Studio 2019で「ASP.NET Core Web アプリケーション」テンプレートが表示されない時の完全対処ガイド|原因分析と復旧手順

Visual Studio 2019 を使っているのに新規プロジェクトで「ASP.NET Core Web アプリケーション」が見当たらない――。そんな時は、インストール構成の抜けやテンプレートキャッシュの破損など、いくつかの典型原因が考えられます。本記事は再現性の高いチェック手順と修復コマンドをまとめ、最短でテンプレートを復活させるための実践ガイドとしてお届けします。

目次

状況の整理:よくある症状と前提

本記事が対象とするケースは次のとおりです。

  • Visual Studio 2019 をインストール済み。
  • インストール時に「ASP.NET と Web 開発」「.NET Core クロスプラットフォーム開発」を選んだ記憶がある。
  • dotnet --version では .NET Core 3.1(例:3.1.426)が表示される。
  • それでも「新しいプロジェクトの作成」ダイアログに 「ASP.NET Core Web アプリケーション」 が出てこない。

結論からいえば、ほとんどのケースは Visual Studio 側(インストーラーの構成・個別コンポーネント・テンプレートキャッシュ・拡張機能)の問題に帰着します。以降の手順を上から順に試すことで、ほぼ確実に復旧できます。

まずは全体俯瞰:原因パターンと対処早見表

症状・状況想定原因最短の対処所要目安備考
テンプレートだけ見当たらないVS のテンプレートキャッシュ破損テンプレートキャッシュ削除 → VS 再起動3〜5分詳細は「テンプレートキャッシュ再構築」を参照
検索してもヒットしない/フィルタが偏っている新規プロジェクト画面のフィルタ設定言語を「C#」、プラットフォームを「Windows」、種類を「Web」に変更1分検索欄に「asp.net core」と入力してもよい
CLIでは作れるが VS に出ないワークロード未追加/部分的インストールインストーラーで必要ワークロードと個別コンポーネントを追加10〜30分ネットワーク環境により変動
VS 自体が不安定拡張機能の衝突/構成破損セーフモード起動 → 修復5〜20分devenv /safemode で確認
3.1 でのデバッグが失敗開発用 HTTPS 証明書が未信頼dotnet dev-certs https --trust1分初回起動の確認ダイアログで「Yes」を選ぶ
社内 PC で追加ダウンロードが失敗プロキシ/WSUS によるブロックオフラインレイアウトを作成して展開30〜60分後半の「オフライン導入」参照

最短復旧のためのクイックチェック

  1. フィルタを初期化:新規プロジェクト画面の右上検索に「asp.net core」と入力。左側フィルタを「C# / Windows / Web」にする。
  2. CLIでテンプレートがあるか確認: dotnet new --list | findstr /i "web aspnet" dotnet new mvc -n VsTemplateCheckApp これでプロジェクトが作成できれば SDK 側は正常。VS 側の表示問題に切り分けできます。
  3. テンプレートキャッシュの再構築(後述の手順 1〜2)。
  4. 必要ワークロード・個別コンポーネントの追加(後述の表を参照)。
  5. Visual Studio の修復(インストーラーの修復機能)。

根本から整える:正攻法の復旧手順

Visual Studio 2019 のバージョンを最新の 16.11 系へ

古いビルドではテンプレートの構成が異なる場合があります。まずはバージョンを確認し、16.11 系の最新更新に上げましょう。

  1. Visual Studio 上部メニューの [ヘルプ] → [Microsoft Visual Studio について] でバージョンを確認。
  2. Visual Studio Installer を起動し、対象の 2019 エディションの [更新] を実行。

必要ワークロード・個別コンポーネントの確認

ASP.NET Core のテンプレートは、以下のワークロード/コンポーネントが有効であることが前提です。

区分名称(インストーラー表記)備考
ワークロードASP.NET と Web 開発必須
ワークロード.NET Core クロスプラットフォーム開発必須
個別コンポーネント.NET Core 3.1 SDK / ランタイム / テンプレート3.1 を使うなら有効に
個別コンポーネント.NET Core 3.1 Targeting Pack3.1 のターゲット指定に必要
個別コンポーネントIIS Expressデバッグで使用

インストーラーでは [変更] → [ワークロード] タブでチェック → [修正] を実行し、追加ダウンロードを完了させます。企業環境でプロキシ配下の場合、後述のオフラインレイアウトが確実です。

テンプレートキャッシュの再構築(最も効く!)

テンプレート一覧はローカルのキャッシュが壊れると表示されなくなります。以下を実施してください。

  1. Visual Studio をすべて終了。
  2. 次のフォルダを削除(存在するもののみ)。
    C:\Users\<ユーザー名>\AppData\Local\Microsoft\VisualStudio\16.0_*\TemplateCache
    C:\Users\<ユーザー名>\AppData\Local\Microsoft\VisualStudio\16.0_*\ItemTemplatesCache
    C:\Users\<ユーザー名>\AppData\Local\Microsoft\VisualStudio\16.0_*\ProjectTemplatesCache
  3. 「開発者用コマンド プロンプト for VS 2019」を管理者で開き、次を順に実行: devenv /updateconfiguration devenv /installvstemplates devenv /setup
  4. VS を起動し、新規プロジェクト画面で再検索(「asp.net core」)。

CLI でテンプレート自体がインストールされているか検証

SDK 側にテンプレートがあるかは CLI が最短で判断できます。

dotnet --info
dotnet new --list | findstr /i "aspnet web"
dotnet new webapp -n WebAppDemo       
dotnet new mvc    -n MvcDemo           
dotnet new webapi -n ApiDemo           

ここでいずれかが正常に生成されるなら、SDK とテンプレートはインストール済みです。Visual Studio の表示に絞って対処します。

Visual Studio の修復とセーフモード確認

  1. インストーラーで対象エディションの [その他] → [修復] を実行。
  2. それでも改善しなければ、拡張機能の衝突を疑い、次を試す:
    devenv /safemode セーフモードでテンプレートが見える場合は、拡張機能を一度すべて無効化し、徐々に有効化して原因を特定します。
  3. 設定破損が疑わしい場合は初期化:
    devenv /resetsettings

HTTPS 開発用証明書を信頼済みにする

テンプレート再表示後、初回のデバッグで「開発用証明書を信頼しますか?」が出たら [Yes] を選択。誤って [No] にした場合は次で再設定します。

dotnet dev-certs https --clean
dotnet dev-certs https --trust

「新しいプロジェクトの作成」で見落としがちな操作

  • 検索ボックスに asp.net core、web を入力。
  • 言語:C#、プラットフォーム:Windows、プロジェクトの種類:Web を選択。
  • 似た名称の「ASP.NET Web アプリケーション(.NET Framework)」と混同しない(Core ではない)。
  • プレビュー SDK のみが入っている場合は、[ツール] → [オプション] → [プロジェクトおよびソリューション] → [.NET Core] の「プレビュー版 SDK の使用を許可する」を確認。

ケース別の深掘りトラブルシューティング

1) SDK はあるが VS にテンプレートが出ない

最も多いのは Visual Studio 側の構成不足またはキャッシュ破損です。次の順で確実に直します。

  1. テンプレートキャッシュの削除(前述)。
  2. 個別コンポーネント「.NET Core 3.1 Targeting Pack」「.NET Core 3.1 SDK / ランタイム / テンプレート」を追加。
  3. ASP.NET と Web 開発/.NET Core クロスプラットフォーム開発が入っているか再確認。
  4. 修復 → 再起動。

2) 企業ネットワークでダウンロードに失敗する

プロキシや WSUS 配下ではインストーラーの追加取得が失敗することがあります。オフラインレイアウトを作ると確実です(管理者向け)。

  1. インターネット接続のある PC でインストーラーを取得。
  2. コマンド例(エディションに応じてファイル名は読み替え): vs_Professional.exe --layout C:\VS2019Layout --lang ja-JP en-US
  3. レイアウトを社内共有へ配置し、対象 PC ではそこから setup.exe を起動。
  4. ワークロードと個別コンポーネントを選んでインストール/修復。

3) 旧/別バージョンの VS と併用している

複数の Visual Studio を同居させている環境では、テンプレートキャッシュが競合することがあります。2019 のキャッシュを削除し、上記の devenv コマンド 3 連(/updateconfiguration → /installvstemplates → /setup)で再構築すると改善します。

4) プロジェクトは作れるのにビルドが失敗する

この場合はテンプレート問題ではなく、ターゲットフレームワークや NuGet の復元、SDK バージョン(global.json)の影響を疑います。

  • *.csproj の <TargetFramework> を確認(例:netcoreapp3.1)。
  • ソリューション ディレクトリ直下に global.json があると、未インストールの SDK バージョンを要求してビルド不能になることがあります。CLI の dotnet --list-sdks と照合してください。
  • パッケージ復元の失敗は [表示] → [出力] で Package Manager ログを確認。

運用上のベストプラクティス

テンプレートが消えるリスクを減らす設定・習慣

  • 大型更新や拡張機能の導入前に、%LOCALAPPDATA%\Microsoft\VisualStudio\16.0_*\ をバックアップ。
  • 拡張機能は必要最小限に。症状が出たらセーフモードで切り分け。
  • インストーラーの更新を定期的に実行(同じ 16.11 系でも細かい修正が入ります)。

ログで原因を追う

VS 側のエラーはアクティビティログで追えます。

devenv /log

標準では %APPDATA%\Microsoft\VisualStudio\16.0_*\ActivityLog.xml に出力されます。テンプレート構築エラーや拡張機能のロード失敗が記録されます。

補足:.NET 3.1 の扱いと今後の推奨

.NET Core 3.1 は既にサポートが終了しています。セキュリティや将来の移行コストを考えると、現行の LTS(例:.NET 8、もしくは以降の LTS)を前提にした新規開発を推奨します。既存の 3.1 プロジェクトは、段階的にターゲットフレームワークを引き上げましょう。

シナリオ推奨対応ポイント
新規開発最新 LTS(例:.NET 8 など)を選択長期サポートで運用負荷を低減
既存 3.1 の保守ビルドを維持しつつ段階移行(3.1 → 6/8 以降)API 互換性の差異をリリース単位で吸収
VS 2019 固定が必要テンプレート復旧手順をマニュアル化キャッシュ削除/修復の運用を定例化

チェックリスト:本当にやるべきことだけを凝縮

チェック項目手順・コマンド合格基準
VS 2019 のバージョン16.11 系の最新更新までアップデート「16.11.x」を確認
ワークロード「ASP.NET と Web 開発」「.NET Core クロスプラットフォーム開発」にチェック両方がインストール済み
個別コンポーネント.NET Core 3.1 SDK / ランタイム / テンプレート、Targeting Pack必要なターゲットが選択済み
テンプレートキャッシュTemplateCache 等の削除 → devenv コマンド 3 連新規作成でテンプレートが再表示
CLI の健全性dotnet new --list / dotnet new mvc -n TestAppプロジェクト生成が成功
HTTPS 証明書dotnet dev-certs https --trustブラウザ警告なしでローカル起動

うまくいかない時の最後の一押し

  • Windows Update:Visual C++ 再頒布可能パッケージや .NET 関連の更新が不足すると、テンプレート読み込みに失敗することがあります。OS 更新も並行実施。
  • ユーザープロファイルの整合性:新しいローカルユーザーを作り、同手順を試すとプロファイル依存の問題を切り分けできます。
  • 権限:会社 PC ではインストールや証明書の信頼に管理者権限が必要です。

実践サンプル:ゼロからテンプレートを復活させる一連の流れ

  1. VS を閉じ、テンプレートキャッシュ 3 フォルダを削除。
  2. 開発者用コマンド プロンプト(管理者)で次を実行: devenv /updateconfiguration devenv /installvstemplates devenv /setup
  3. Visual Studio Installer を起動し、ASP.NET と Web 開発/.NET Core クロスプラットフォーム開発にチェック、.NET Core 3.1 Targeting Pack を含む個別コンポーネントを選択、修正を適用。
  4. VS を起動し「新しいプロジェクトの作成」→ 検索に「asp.net core」→ テンプレートを選択して作成。
  5. 初回デバッグで HTTPS 証明書の確認に [Yes]。

付録:コマンド・フォルダ位置まとめ

目的コマンド/パス説明
SDK 情報の確認dotnet --infoインストール済み SDK/ランタイムを一覧
テンプレート一覧dotnet new --listCLI からテンプレートの有無を確認
テンプレートキャッシュ削除%LOCALAPPDATA%\Microsoft\VisualStudio\16.0_*\TemplateCache存在すれば削除
テンプレート再登録devenv /installvstemplatesVS のテンプレートを再構築
構成更新devenv /updateconfigurationローカル構成を再生成
全体セットアップdevenv /setupVS の初期セットアップを再実施
セーフモードdevenv /safemode拡張機能を読み込まず起動
設定初期化devenv /resetsettingsVS のユーザー設定を既定に戻す
アクティビティログ%APPDATA%\Microsoft\VisualStudio\16.0_*\ActivityLog.xmlテンプレート読込エラー等の痕跡あり
HTTPS 証明書dotnet dev-certs https --trustローカル開発用証明書を信頼に設定

まとめ:順番がカギ

「ASP.NET Core Web アプリケーション」テンプレートが表示されない問題は、テンプレートキャッシュ → ワークロード/個別コンポーネント → インストール修復 → セーフモード切り分け → CLI 検証の順で取り組むと最短で解決します。既に .NET Core 3.1 SDK が入っていても、Visual Studio 側にテンプレートを示すための構成が欠けていれば画面には現れません。まずは本記事のチェックリストを上から実施し、それでも難しい場合はオフラインレイアウトやログ解析で確実に原因へ到達してください。新規案件では最新 LTS を前提に、将来の保守性を見据えた構成を心掛けましょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次