MVC開発で Microsoftのチュートリアルの1つ sを実行していますが、さまざまな要素を作成しようとするとエラーが発生します。ビュー、コントローラーなど.
私が得ているエラーは次のとおりです:
There was an error running the selected code generator:
'Sequence contains no elements'
新しい要素を作成しようとするたびに一貫しています。以前は、ビューをコピーして再利用することでエラーを回避しました。しかし、それは長期的には最適ではありません!
私は現在、問題が発生するこのチュートリアルを行う仕事に座っています。ただし、昨日(別のネットワークで)自宅でこのチュートリアルを開始したとき、問題はありませんでした。それは何か言いたいことがありますか?
それは私のネットワークやプロジェクト自体の問題なのでしょうか、それともまったく違うものだと思いますか?
@Jamesのコメントは役立ったので、それを支持しましたが、他の人に見やすくするための回答として追加したかったのです。
パッケージマネージャーコンソールを開きます。
ツール> Nugetパッケージマネージャー>パッケージマネージャーコンソール
タイプ:
dotnet restore
再起動/再インストールは不要です。
ComponentModelCacheをクリアしてみてください。VSが次回起動されたときにキャッシュが再構築されます。
https://stackoverflow.com/a/35815094/5209435 へのクレジット
編集
web.config
ファイルのproviderNames
セクションにあるconnectionString
は同じですか?
Visual Studio 2019でも同じエラーが発生しました。
問題は次の方法で修正できます。
Web.configに接続文字列の異なるインスタンスがある場合、エラーが発生します
他の不要または必要な接続文字列タグをコメントアウトしてから、ソリューションを再構築します。それがすべてでしょう
空のAPIコントローラーをASP.NET Core Webアプリケーション(APIテンプレート)に追加しようとしていました。プロジェクトのプロパティで、ターゲットフレームワークが設定されていないことがわかりました。 .NET Core 2.1に設定しました。
その後、コントローラーを追加しようとすると、このコード行がStartup.csに追加されたため、エラーが発生します。
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
compatibilityVersionにはVersion2_2の列挙型がないため、2_1に変更します。
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
そして今、コントローラを追加します。
私はこれをまったく新しいプロジェクトで手に入れていました。 Visual Studio 2017 15.9.11。
すでにドットネットの復元とComponentModelCacheのクリアを試みました。
VS2017のアンインストールと再インストールは機能しませんでした。クラス、アイテム、その他の下位要素を作成できます。ただし、コントローラー、ビューなどの作成に関する問題は引き続き発生します。
microsoft.VisualStudio.Web.CodeGeneration.Designパッケージのバージョンを更新またはインストールする必要があります。
これが解決策です。