MVC 4アプリケーションの大幅なリファクタリングの後、RazorがViewsのデバッグ中にこのエラーを表示しました。
The name 'model' does not exist in the current context.
これが問題となっているコードです。
@model ICollection<DataSourceByActive>
私は @model
の使い方が正しいことを知っています。
なぜこのようなことが起こるのでしょうか?どうすれば直せますか?
Viewsフォルダの中にあるweb.configファイルがおかしくなっているのではないでしょうか。
同じ.NETフレームワークをターゲットにした新しいプロジェクトを作成し、そのViews/web.configファイルを現在のプロジェクトのものの上にコピーしてください。これで問題は解決します。
また、Dudeman3000がコメントしているように、MVCプロジェクトにAreaがある場合、それらはすべてViews\web.config
ファイルを持っています。
サイトの Web.config
とビューのディレクトリ Web.config
の両方で、appSettings
セクションに以下の内容が記述されていることを確認してください。
<add key="webpages:Version" value="2.0.0.0" />
MVC5の場合はこちらを使用します。
<add key="webpages:Version" value="3.0.0.0" />
(そして、これはメインの Web.config
ファイルにのみ存在します。)
私も同じ問題を抱えていました。新しいプロジェクトを作成し、Gupta氏の回答で推奨されているようにweb.configファイルをコピーしましたが、私の場合はそれだけでは解決しませんでした。AlexとLiamの回答を確認したところ、この行は新しいweb.configからコピーされたに違いないと思いましたが、新しいプロジェクト自体にはこの行がなかったようです(MVC5)。
<add key="webpages:Version" value="3.0.0.0" />
この行をviews/web.configファイルに追加することで、私の場合は問題が解決しました。