Visual Studio 2015 Communityエディションを使用しており、ASP.NET MVC 5プロジェクトを作成しました。
ビュー(Index
of Home
またはその他)を開くと、構文の問題として赤で下線が引かれたページの最初の3行が表示されます。エラーは次のとおりです。
値「Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper、Microsoft.AspNet.Mvc.Razor」でタグヘルパーディレクティブ「@addTagHelper」を解決しようとしたときに、予期しないエラーが発生しました。エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません
スクリーンショット:
プロジェクトをビルドすると、正常にビルドされます。実行すると、多くのエラーが表示されますが、アプリケーションは実行されます。
型または名前空間名「Mvc」が名前空間「Microsoft.AspNet」に存在しません(アセンブリ参照がありませんか?)
そして
'_Page_views_home_index_cshtml.ExecuteAsync()':オーバーライドする適切なメソッドが見つかりません
どうすればこれを取り除くことができますか?
問題の修正方法は次のとおりです。
まず、 Visual Studioコンポーネントキャッシュをリセット Visual Studioを閉じてこのフォルダーを削除します。
C:\ Users\[ユーザー名]\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
そして最後に、web.config
ファイルと変更:
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
...
</appSettings>
に
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
...
</appSettings>
私は同じ問題を抱えていましたが、上記はうまくいきませんでした。また、動作しなかったコンポーネントキャッシュ内の4つのファイルをすべて削除しました。下の行<appSettings>
はfalse
に設定されました。私はそれをtrue
に変更し、赤いスクイッグは消えました。
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
私の場合、System.Web.Mvcへの参照は消えていました。
Cshtmlファイルには多くのエラーがありましたが、コンパイルおよび実行されました。その後、xxxcontrollers.csファイルでコントローラーを継承しようとしてエラーが発生したことがわかりました。
Dllが既にbinに入っていたのにコンパイルできたようですが、エラーが発生していました。
このプロジェクトを再構築する必要はありませんでした。それは数日です。