前置き
Visual Studio 2022 のみをインストールしたとき、デフォルトの状態では .NET Framework 4.7.2 と 4.8 のプロジェクトしか作成できません。
⚠️ Visual Studio 2022 は .NET Framework 4.6.2 より古いバージョンを正式にはサポートしていません。
.NET Framework 4.6 / 4.6.1 / 4.6.2 / 4.7 / 4.7.1 / 4.8.1 の場合
デフォルトを除く .NET Framework 4.6 から 4.8.1 は、Visual Studio Installer を使用して各バージョンの Targeting Pack
をインストールすることで使用可能になります。
.NET Framework 4.5.1 / 4.5.2 の場合
.NET Framework 4.5.1 と 4.5.2 は、開発者パックをインストールすることで使用可能です。
.NET Framework 4 / 4.5 の場合
参照アセンブリを配置することで使用可能になります。
公式ドキュメントには、「参照アセンブリを使用すると、サポートされていないバージョンの .NET Framework を対象とするプロジェクトをコマンド ラインからビルドできます。」とあるように、コマンドラインからしかコンパイルできないため、解決方法としてはあまり意味がないでしょう。
下記の Nuget パッケージには参照アセンブリが含まれており、適切なディレクトリに配置することで、この問題を解決することができます。
ダウンロードした Nuget パッケージを .zip
にリネームし、その中の /build/.NETFramework/
以下を C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\
に上書きすることで配置完了です。
PowerShellでインストールするワンライナーを置いておきます。
- .NET Framework 4.0
$ProgressPreference='SilentlyContinue';$t="$env:TEMP\net40";Invoke-WebRequest https://www.nuget.org/api/v2/package/Microsoft.NETFramework.ReferenceAssemblies.net40/1.0.3 -OutFile "$t.zip";Expand-Archive "$t.zip" $t -Force;Copy-Item "$t\build\.NETFramework\*" "${env:ProgramFiles(x86)}\Reference Assemblies\Microsoft\Framework\.NETFramework\" -Recurse -Force
- .NET Framework 4.5
$ProgressPreference='SilentlyContinue';$t="$env:TEMP\net45";Invoke-WebRequest https://www.nuget.org/api/v2/package/Microsoft.NETFramework.ReferenceAssemblies.net45/1.0.3 -OutFile "$t.zip";Expand-Archive "$t.zip" $t -Force;Copy-Item "$t\build\.NETFramework\*" "${env:ProgramFiles(x86)}\Reference Assemblies\Microsoft\Framework\.NETFramework\" -Recurse -Force
.NET Framework 2.0 / 3.0 / 3.5 の場合
.NET Framework 2.0 から 3.5 は、Windows の機能の有効化と無効化
から .NET Framework 3.5 (.NET 2.0 および 3.0 を含む)
を有効にすることで使用できます。
対応表
.NET | インストール方法 |
---|---|
4.8.1 | Visual Studio Installer |
4.8 | デフォルト |
4.7.2 | デフォルト |
4.7.1 | Visual Studio Installer |
4.7 | Visual Studio Installer |
4.6.2 | Visual Studio Installer |
4.6.1 | Visual Studio Installer |
4.6 | Visual Studio Installer |
4.5.2 | 開発者パック |
4.5.1 | 開発者パック |
4.5 | 参照アセンブリ |
4 | 参照アセンブリ |
3.5 | Windows の機能の有効化と無効化 |
3.0 | Windows の機能の有効化と無効化 |
2.0 | Windows の機能の有効化と無効化 |