【ASP.NET Core】Visual Studio パッケージの復元に失敗しましたの問題を解決

ASP.NET Coreでパッケージの復元に失敗しましたというエラーが発生し、

こちらを解決できたのでメモしておきます。

なお、環境はVisual Studio2022で.NET8を使用しています。

目次

スキャフォールディングでエラー

ASP.NET Coreのスキャフォールディングを行っている時に下記の画像のエラーが発生しました。

モデルも作成しており、DBContextも正しく記述できていました。

また、スキャフォールディングに必要な下記のパッケージもインストールできていました。

Microsoft.EntityFrameworkCore.Tools
Microsoft.VisualStudio.Web.CodeGeneration.Design
Microsoft.EntityFrameworkCore.SqlServer

しかし、上記のエラーが発生したので非常に困りました。

なんとかスキャフォールディングを行いたかったので調査し、様々な記事を参考にしました。

しかし、私の環境で起こっているエラーは上手く解決できませんでした。

そこで新しいプロジェクトを作成してテストを行っているとあることに気づきました

バージョンを合わせることで上手く実行された

新たにスキャフォールディングだけを行うプロジェクトを作成し、

下記記事を参考にスキャフォールディングを行いました。

Bookモデルを作成し、記事通りにスキャフォールディングを行いました。

するとあっさりスキャフォールディングが上手く実行されました

再び調査するとある記事を発見します。

こちらの記事でスキャフォールディングが上手くいっていない原因が下記のように紹介されています。

インストールしているパッケージのバージョンが揃っていなかったことが原因。

つまり、パッケージの復元に失敗しましたの原因は

パッケージのバージョンが揃っていなかったことが原因ということだったようです。

たしかに、バージョンについてはいろいろ検証を行っており、全て揃っていなかったです。

では、.NET8のパッケージはどのバージョンにすればよいのでしょうか。

スキャフォールディングが上手くいったパッケージのバージョンを下記に挙げます。

➊Microsoft.EntityFrameworkCore.SqlServer
>8.0.11

➋Microsoft.EntityFrameworkCore.Tools
>8.0.11

➌Microsoft.VisualStudio.Web.CodeGeneration.Design
>8.07

執筆時(2024.12.18)ではパッケージは.NET9が最新版だが、.NET8でプロジェクトを作成したのでパッケージを.NET9にアップデートしても上手く実行されないので注意!

以上のバージョンに変更し、スキャフォールディングの手順を踏むと上手く実行できました。

もし、スキャフォールディングを何度も行っており、バージョンが上手く変更できない場合は

csprojファイルのPackageReferenceタグのVersionをパッケージに合わせます

まとめ

いかがだったでしょうか。

パッケージのバージョンも変わったりするので、ASP.NET Coreで

スキャフォールディングができないということも多発するかと思います。

そういう時は新しいプロジェクトを作成し、そこでスキャフォールディングを行い、

成功したバージョンに合わせると上手くいくかと思います。

ASP.NET Coreで「パッケージの復元に失敗しました」というエラーが発生している方の

助けになればよいと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

電気制御設計→ITエンジニア
前職は電気系のエンジニアで物流倉庫などの設備を動かしていました。
現在はITエンジニアとして開発に従事。
業務では主にUnity、C#、.NETを利用。
現在、UnityとC#を用いて業務用スマホアプリを開発中。

コメント

コメントする

目次