web-dev-qa-db-fra.com

Une erreur inattendue s'est produite lors de la tentative de résolution de la directive d'assistance de balise '@addTagHelper'

J'utilise Visual Studio 2015 Community Edition et j'ai créé un projet ASP.NET MVC 5.

Lorsque j'ouvre une vue (Index de Home ou toute autre), elle affiche les trois premières lignes de la page soulignées en rouge comme problème de syntaxe. Voici l'erreur:

Une erreur inattendue s'est produite lors de la tentative de résolution de la directive d'assistance de balise '@addTagHelper' avec la valeur 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNet.Mvc.Razor'. Erreur: la référence d'objet n'est pas définie sur une instance d'un objet

La capture d'écran:

@addTagHelper error message

Lorsque je crée le projet, il se construit avec succès. Lorsque je l'exécute, cela montre beaucoup d'erreurs, mais il exécute l'application.

Index View with errors

Le nom de type ou d'espace de noms "Mvc" n'existe pas dans l'espace de noms "Microsoft.AspNet" (vous manque une référence d'assembly?)

et

'_Page_views_home_index_cshtml.ExecuteAsync ()': aucune méthode appropriée n'a été trouvée pour remplacer

Comment puis-je le débarrasser de ça?

53
tarzanbappa

Voici comment j'ai résolu le problème:

Tout d'abord, réinitialiser le cache des composants Visual Studio en fermant Visual Studio et en supprimant ce dossier:

C:\Users\[Nom d'utilisateur]\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache

Et enfin, vérifiez le web.config fichiers et modification:

<appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    ...
</appSettings>

à

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    ...
</appSettings>
106
Kcoder

J'ai eu le même problème, mais ce qui précède n'a pas fonctionné. J'ai également supprimé les 4 fichiers du cache de composants qui ne fonctionnaient pas. J'ai remarqué que la ligne en dessous <appSettings> a été défini sur false. Je l'ai changé en true et les squigs rouges ont disparu.

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

Dans mon cas, c'était la référence à System.Web.Mvc qui avait disparu.

Il y avait beaucoup d'erreurs dans les fichiers cshtml mais il se compilait et s'exécutait. Ensuite, j'ai constaté que j'avais une erreur dans le fichier xxxcontrollers.cs en essayant d'hériter des contrôleurs.

Semble qu'il pourrait compiler parce que la dll était déjà dans le bac mais il donnait des erreurs.

Je n'ai pas aimé avoir à reconstruire ce projet. Ce serait des jours et des jours.

0
BrownPony