web-dev-qa-db-ja.com

タグヘルパーディレクティブ '@addTagHelper'を解決しようとしたときに予期しないエラーが発生しました

Visual Studio 2015 Communityエディションを使用しており、ASP.NET MVC 5プロジェクトを作成しました。

ビュー(Index of Homeまたはその他)を開くと、構文の問題として赤で下線が引かれたページの最初の3行が表示されます。エラーは次のとおりです。

値「Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper、Microsoft.AspNet.Mvc.Razor」でタグヘルパーディレクティブ「@addTagHelper」を解決しようとしたときに、予期しないエラーが発生しました。エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません

スクリーンショット:

@addTagHelper error message

プロジェクトをビルドすると、正常にビルドされます。実行すると、多くのエラーが表示されますが、アプリケーションは実行されます。

Index View with errors

型または名前空間名「Mvc」が名前空間「Microsoft.AspNet」に存在しません(アセンブリ参照がありませんか?)

そして

'_Page_views_home_index_cshtml.ExecuteAsync()':オーバーライドする適切なメソッドが見つかりません

どうすればこれを取り除くことができますか?

53
tarzanbappa

問題の修正方法は次のとおりです。

まず、 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>
106
Kcoder

私は同じ問題を抱えていましたが、上記はうまくいきませんでした。また、動作しなかったコンポーネントキャッシュ内の4つのファイルをすべて削除しました。下の行<appSettings>falseに設定されました。私はそれをtrueに変更し、赤いスクイッグは消えました。

<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
2

私の場合、System.Web.Mvcへの参照は消えていました。

Cshtmlファイルには多くのエラーがありましたが、コンパイルおよび実行されました。その後、xxxcontrollers.csファイルでコントローラーを継承しようとしてエラーが発生したことがわかりました。

Dllが既にbinに入っていたのにコンパイルできたようですが、エラーが発生していました。

このプロジェクトを再構築する必要はありませんでした。それは数日です。

0
BrownPony