Skip to content

Visual Studio 2019で.NET 6フレームワークが表示されない問題の解決方法

問題の概要

Visual Studio 2019を使用している際に、プロジェクトのターゲットフレームワークとして.NET 6がドロップダウンリストに表示されない問題が発生します。この問題は、.NET 6 SDKをインストールし、「.NET Core SDKのプレビューを使用する」オプションを有効にしているにもかかわらず発生します。

公式サポート状況

重要

Microsoftの公式見解によると、.NET 6 は Visual Studio 2022 以降でのみ完全サポートされています。Visual Studio 2019 は .NET 6 の正式なサポート対象外です。

公式ドキュメントでは、以下のように明記されています:

  • Visual Studio 2019 は .NET 5 までをサポート
  • Visual Studio 2022 が .NET 6 以降の正式なサポート環境
  • プレビュー版のSDKを使用することで限定的な動作は可能ですが、完全な機能保証はされません

解決方法

方法1:プロジェクトファイルを直接編集する

最も確実な方法は、.csprojファイルを直接編集する方法です:

  1. ソリューションエクスプローラーでプロジェクトを右クリックし「エクスプローラーでフォルダーを開く」を選択
  2. テキストエディタで.csprojファイルを開く
  3. TargetFramework要素を探し、値を変更する:
xml
<!-- .NET 5の場合 -->
<TargetFramework>net5.0</TargetFramework>

<!-- .NET 6に変更 -->
<TargetFramework>net6.0</TargetFramework>
  1. ファイルを保存し、Visual Studioに戻る
  2. プロジェクトをリビルドする

TIP

WindowsフォームやWPFアプリケーションの場合は、net6.0-windowsを使用します。

方法2:SDKバージョンの制限

特定の.NET 6 SDKバージョンのみがVisual Studio 2019と互換性があります:

  • 推奨: .NET SDK 6.0.1xx ブランチ(例: 6.0.109)
  • 避けるべき: .NET SDK 6.0.3xx 以降のブランチ

互換性のあるSDKをインストールするには:

bash
# 利用可能なSDKの一覧表示
dotnet --list-sdks

# 特定のバージョンをインストール(例)
dotnet SDK install 6.0.109

方法3:警告の無効化

プロジェクトをビルドすると警告(NETSDK1182)が表示される場合、.csprojファイルに以下を追加して無効化できます:

xml
<PropertyGroup>
  <NoWarn>$(NoWarn);NETSDK1182</NoWarn>
</PropertyGroup>

方法4:global.jsonの確認

プロジェクトまたはソリューションのルートにglobal.jsonファイルがある場合、特定のSDKバージョンに固定されている可能性があります:

json
{
  "sdk": {
    "version": "6.0.100",
    "rollForward": "latestFeature"
  }
}

必要に応じてこのファイルを編集または削除してください。

制限事項

Visual Studio 2019で.NET 6を使用する場合、以下の制限があります:

  • ASP.NET Coreアプリケーションは完全にはコンパイルできない場合がある
  • 新しいC# 10機能の一部が制限される
  • デバッグ機能が完全に動作しない可能性がある
  • プロパティウィンドウのターゲットフレームワーク dropdown が空欄になる

推奨される根本的解決策

重要

プロダクション環境で.NET 6を使用する場合は、Visual Studio 2022へのアップグレードを強く推奨します。

Visual Studio 2022への移行メリット:

  • .NET 6の完全なサポート
  • 64ビットアーキテクチャによるパフォーマンス向上
  • 最新の開発機能とツールとの互換性
  • Microsoftからの公式サポート

トラブルシューティング

問題が解決しない場合の確認事項:

  1. SDKのインストール確認

    bash
    dotnet --version
    dotnet --list-sdks
  2. Visual Studioのバージョン確認

    • 16.11.7以上に更新する
  3. プレビューオプションの有効化

    • ツール → オプション → 環境 → プレビュー機能
    • 「.NET SDKのプレビューを使用する」をチェック
  4. 32ビット/64ビットSDKの確認

    cmd
    where dotnet.exe
    • 64ビット版が正しくインストールされているか確認

まとめ

Visual Studio 2019で.NET 6を使用することは技術的には可能ですが、制約が多いため推奨されません。一時的な解決策としてプロジェクトファイルの直接編集や互換性のあるSDKバージョンの使用がありますが、長期的にはVisual Studio 2022への移行が最も安全かつ効率的な解決策です。