😗

Visual Studio の更新を怠ると VSCode の C# 拡張でエラーが発生する

2021/03/18に公開

Visual Studio の更新を怠ると VSCode の C# 拡張でエラーが発生する

事象

VSCode で .NET5 のアプリを作成しようとしたところ、C# 拡張機能で以下のエラーが発生した。

[fail]: OmniSharp.MSBuild.ProjectLoader
The reference assemblies for .NETFramework,Version=v5.0 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks

原因

同じPCにインストールしていた Visual Studio 2019 のバージョンが 16.8 未満であったため。

理由

VSCode の C# 拡張機能には OmniSharp というツールが含まれており、このツールは内部で Microsoft Build Engine(MSBuild)というプラットフォームが使用される。OmniSharpには最小限の MSBuild がパッケージ化されており通常であればそれを利用するため今回のようなエラーは発生しない。
しかし、PC内に完全インストールされた MSBuild が存在している場合、OmniSharp はそちらを利用するため、このバージョンが古く .NET 5 や Core 3.1 などがサポートされていないと今回のようなエラーが発生する。

対応方法

Visual Studio 2019 を更新する。

Discussion