6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[C#] Visual Studio 2022 で古い .NET Framework を使えるようにする方法 (.NET Framework 2.0 以降)

Posted at

前置き

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 の機能の有効化と無効化
6
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?