質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

4374閲覧

VisualStudio2019でスキャフォールディングで失敗する原因を突き止めたい。【エラー:パッケージの復元に失敗しました】

matio

総合スコア27

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2022/05/16 06:05

編集2022/05/16 06:35

C#を学習し始めて半年程度です。よろしくお願いいたします。

実現したいこと

スキャフォールディングで失敗する原因を突き止めたい。
原因・解決策をご教授いただければ幸いです。

.NET Core MVCの公式チュートリアルを進めています。(VisualStudio2019 verは補足に記載しています。)
参考資料:https://hirahira.blog/asp-net-core5-mvc-tutorial-02/

上記リンクのスキャフォールディングの手順で失敗してしまいます。

発生している問題・エラーメッセージ

以下のエラーが発生しております。
イメージ説明

手順

以下の手順でスキャフォールディングを行っております。
イメージ説明
イメージ説明
イメージ説明
イメージ説明

試したこと

インストールしているパッケージは以下の通りです。
イメージ説明

SqlServerのバージョンが参考記事と違いますが、こちらはスキャフォールディングを行った際にバージョンが上がりました。
前:5.0.14 →後:5.0.16

以下の記事のことは試しました。
参考記事:https://qiita.com/ruemura3/items/20bb24c7dd8761d52be8
イメージ説明

補足情報(FW/ツールのバージョンなど)

Microsoft Visual Studio Community 2019
VisualStudioVersion = 16.11.14

ターゲットフレームワーク:.NET 5
プロジェクトテンプレート:ASP.NET Core Webアプリ(Model-View-Controller)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/05/16 06:18 編集

ASP.NET のタグをつけてください。 Visual Studio 2019 のテンプレートを使ってプロジェクトを作成したと思いますが、何を使ったか書いてください。
matio

2022/05/16 06:27

情報を追記いたしました。
退会済みユーザー

退会済みユーザー

2022/05/16 11:42

質問者さん、回答したのでそれに対するフィードバックをタイムリーに返してください。役に立った/立たなかったぐらいはすぐに返せるのでは? 役に立たなかったならどこがダメかを書くとより期待する回答に近いものが出てくるかも。とにかく無言は NG です。
guest

回答1

0

ベストアンサー

Microsoft の Movie チュートリアルですよね。参考にされている記事はそれがベースのようですが、間違いなくその通りなのでしょうか? 参考にするなら Microsoft のチュートリアルを見ることをお勧めします。

以前自分が Microsoft のチュートリアルに従って作ったとき、NuGet からインストールした Microsoft.EntityFrameworkCore.Design のバージョンとプロジェクトのフレームワークのバージョンが違って(NuGet からインストールしたのは 5.0.x、プロジェクトのフレームワークは 3.x)、スキャフォールディングでエラーになることがありました。そのあたりはどうですか?

バージョンの問題はないとしても、チュートリアルの通り Visual Studio でスキャフォールディングを実行すると、コードジェネレータ関係のエラーが出る場合がありました。

スキャフォールディング操作で、下の追加 NuGet パッケージがインストールされるはずですが、そのタイミングの問題があるようで、やはり失敗することがありました。

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

その場合、上の追加 NuGet パッケージがインストールされていることを確認(バージョンも確認)してから再度スキャフォールディングを行うと成功するかもしれません(自分の場合がそうでした)。試してみてください。


【追記】

昔自分が Visual Studio 2019 を使って .NET 5.0 の Movie チュートリアルに従って作ったアプリが残ってましたので、参考にその時インストールされた NuGet パッケージの画像を貼っておきます。

イメージ説明

スキャフォールディング操作が成功すると、上に述べた追加 NuGet パッケージのインストールに加えて、以下のことが起こります。(チュートリアルに書いてある通り)

(1) Data フォルダにコンテキストクラスの作成
(2) Startup.cs ファイルの ConfigureServices メソッドにコンテキストの登録
(3) appsettings.json ファイルへの接続文字列の追加
(3) CRUD 操作に必要な Controller / View 一式の生成

そのあと Migration 操作(Add-Migration, Update-Database コマンド)で LocalDB データベースを生成し、アプリを実行して Movies/Create でデータを LocalDB に追加すれば期待通り動くはずです。

イメージ説明

投稿2022/05/16 06:59

編集2022/05/16 07:17
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matio

2022/05/16 13:40

Microsoft.VisualStudio.Web.CodeGeneration.Design 上記をインストールすると成功しました。 ご教示くださり、大変勉強になりました。ありがとうございました。
退会済みユーザー

退会済みユーザー

2022/05/16 14:22

Microsoft のチュートリアル通りに Microsoft.EntityFrameworkCore.Design だけ NuGet でインストールすればいいはずですけど? 上の回答に書きましたけど、残り 3 つはスキャフォールディング時に自動的にインストールされます。 そうならなかったのは手順に問題があったのかも。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問