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:
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.
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?
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>
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" />
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.