1. ホーム
  2. c#

[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015

2022-01-26 01:51:57

質問

ASP.NETでの開発を再開しているのですが、Visual Studioで小さなエラーに遭遇してしまいました。私の.cshtmlファイルは、いくつかのrazor関数を使用する際にエラーを表示します。例えば、"The name 'ViewBag' does not exist in the current context"のようなものです。以下はその画像です。

デモプロジェクトを使っています。プロジェクトはこちらでご覧いただけます。 https://github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject

他のスレッドに目を通しましたが、ほとんどの場合、web.config ファイルを更新するよう提案されています。この2つの設定ファイルはすでに存在しており、かなり人気のあるデモなので、必要な設定はすべて入っていると思われます。もちろん、これらの設定ファイルに目を通しましたが、確かに提案された解決策を含んでいます。

その他の詳細

  • 私はすでにソリューション上でclean & rebuildを使用しましたが、それは何も変えませんでした。
  • 全く新しいMVCプロジェクトを作成すると、動作します。
  • 私の友人も同じ問題を抱えており、私たちは共にVS 2015とWindows 10を使用しています。
  • それでもアプリケーションを実行すると動作するのですが。

よろしくお願いします。

どのように解決するのですか?

正しい設定をしているにもかかわらず、この問題が発生しました。

その結果、いくつかの Razor のビューが ViewBag、Model、HtmlHelpers を認識するのを妨げている、コンポーネントキャッシュの不良ファイル . これらのファイルを削除すると、問題は解決しました(次にVisual Studioを開いたときに、これらのファイルの良いバージョンが作成されました)。

ファイルの場所はここです。

%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache

4つのファイルをすべて削除します。

  • Microsoft.VisualStudio.Default.cache
  • Microsoft.VisualStudio.Default.catalogs(マイクロソフトビジュアルスタジオデフォルトカタログ
  • Microsoft.VisualStudio.Default.err。
  • Microsoft.VisualStudio.Default.external。

その後、他の開発者用マシンでも同じ問題を確認しましたが、この修正ですぐに解決しました。