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

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

新規登録して質問してみよう
ただいま回答率
87.20%
Entity Framework

Entity Frameworkは、.NET Framework 3.5より追加されたデータアクセス技術。正式名称は「ADO.NET Entity Framework」です。データベースエンジンに依存しておらず、データプロバイダの変更のみで様々なデータベースに対応できます。

.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

C#

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

ASP.NET

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

解決済

.NET Core MVC のチュートリアルでスキャフォールディングに失敗する

akarinrin_
akarinrin_

総合スコア7

Entity Framework

Entity Frameworkは、.NET Framework 3.5より追加されたデータアクセス技術。正式名称は「ADO.NET Entity Framework」です。データベースエンジンに依存しておらず、データプロバイダの変更のみで様々なデータベースに対応できます。

.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

C#

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

ASP.NET

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

1回答

0評価

0クリップ

2922閲覧

投稿2021/09/14 14:51

編集2021/09/14 23:05

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

前提・実現したいこと

・スキャフォールディングで失敗する原因を突き止めたい。

.NET Core MVCの公式チュートリアルを進めています。(VisualStudio2019 verは補足に記載しています。)
Microsoft .NET Core公式チュートリアル

上記のページの「パート4 モデルを追加する」を進めている際、「EntityFrameworkを使用したビューがあるMVCコントローラー」の追加でスキャフォールディングされる際、
以下のようなエラーが発生し、スキャフォールディングが失敗します。

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

選択したコードジェネレーターを実行中にエラーが発生しました: "To scaffold, install the following Entity Framework core packages and try again Microsoft.EntityFrameworkCore.SqlServer"

イメージ説明

試したこと

①package.reference→package.configに設定を変更 ...特に変化なく、同様のエラー発生

②nuggetのキャッシュを削除してスキャフォールディング ...特に変化なく、同様のエラー発生

エラーメッセージに書かれている通り、Microsoft.EntityFrameworkCore.SqlServer をインストールして再度、スキャフォールディングしましたが、以下のようなエラーが発生しました。
(再度スキャフォールディング時はソリューションごと新規作成して実行しているため、依存関係が残っていることはないはずです。)

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

選択したコードジェネレーターを実行中にエラーが発生しました: "'Method''Create' in type 'Microsoft.EntityFrameworkCore.SqlServer.Query.Internal.SqlServerSqlTranslatingExpressionVisitorFactory' from assembly 'Microsoft.EntityFrameworkCore.SqlServer, Version=3.1.15.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' does not have an implementation."

イメージ説明

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

Microsoft Visual Studio Community 2019
VisualStudioVersion = 16.10.3
Microsoft .NET Framework Version 4.8.04084

インストールされている製品

.NET Core Debugging with WSL 2 - 1.0
ASP.NET and Web Tools 2019 - 16.10.526.50910
ASP.NET Web Frameworks and Tools 2019 - 16.10.526.50910
Azure App Service Tools v3.0.0 - 16.10.526.50910
Razor(ASP.NET Core) - 16.1.0.2122504
SQL Server Data Tools - 16.0.62106.24090

Package

Microsoft.EntityFrameworkCore.Design5.0.9
Microsoft.EntityFrameworkCore.SqlServer3.1.15
Microsoft.EntityFrameworkCore.Tools3.1.15
Microsoft.VisualStudio.Web.CodeGeneration.Design3.1.5(スキャフォールディング時に自動で追加されました)

最後に、、、

・どうやら整合性の問題が疑わしいのですが、どのようにVersion調整をするのかなどの知識もなく、困り果てております。
・不足している情報などあれば、追加しますので、コメントお待ちしております。
・どんな些細なことでも良いので、助けていただければ幸いです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

SurferOnWww

2021/09/14 21:41

ASP.NET のタグを付けてください。 質問にリンクを張ったチュートリアル (プロジェクトの作成) とパート 4 以外に何かしましたか? ソリューション/プロジェクトをゼロから作り直してみると言うことはやってみましたか?
akarinrin_

2021/09/14 23:12

SurferOnWwwさん、ありがとうございます。 チュートリアル以外の操作はしていないです。 ただ、過去にWinFormとASP .NET MVC、Xamarinを勉強した際に、知識なく設定を触っている可能性はゼロではないです。(記憶に残っている大きな設定変更はpackage configをpackage referenceにしたことぐらいですが...試したことに書いた通り、同様のエラーが発生するままでした) ソリューション/プロジェクトはスキャフォールディングが失敗するたびにゼロから作り直しています。(ですが、同様のエラーで失敗してしまいます。)
SurferOnWww

2021/09/15 00:17

> 'Microsoft.EntityFrameworkCore.SqlServer, Version=3.1.15.0 最新版のバージョンは 5.0.10 のはずですが?
SurferOnWww

2021/09/15 01:20

自分の環境で、チュートリアルの通りに作ってみましたが、全く問題なく期待通り動くアプリが作れます。質問者さんのケースで問題が出たのは、質問者さんの環境固有の問題(ファイルが壊れているとか)がなければ、NuGet パッケージの選び方の問題ではないかと思います。 後で回答欄に自分はどのようにしたかを書いておきます。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Entity Framework

Entity Frameworkは、.NET Framework 3.5より追加されたデータアクセス技術。正式名称は「ADO.NET Entity Framework」です。データベースエンジンに依存しておらず、データプロバイダの変更のみで様々なデータベースに対応できます。

.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

C#

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

ASP.NET

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