2016-01-21 1 views
46

Ich verwende die Visual Studio 2015-Community-Edition und ein ASP.NET MVC 5-Projekt.Beim Auflösen der Tag-Hilfselektive '@addTagHelper' ist ein unerwarteter Fehler aufgetreten.

Wenn ich eine Ansicht öffne (Index von Home oder andere), zeigt es die ersten drei Zeilen der Seite rot unterstrichen als ein Syntaxproblem. Hier ist der Fehler:

Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNet.Mvc.Razor'. Error: Object reference not set to an instance of an object

Der Screenshot:

@addTagHelper error message

Als ich das Projekt erstellen, es erfolgreich aufzubauen. Wenn ich es ausführe, zeigt es eine Menge Fehler, aber es führt die Anwendung aus.

Index View with errors

The type or namespace name 'Mvc' does not exist in the namespace 'Microsoft.AspNet' (are you missing an assembly reference?)

und

'_Page_views_home_index_cshtml.ExecuteAsync()': no suitable method found to override

Wie kann ich das beheben?

+0

heute genau das gleiche Problem zu haben. Verbesserte das Projekt auf MVC 5 und C# 6 und jetzt wird jede Ansicht mit diesem Mist abgespritzt. Site funktioniert immer noch und kompiliert gut, aber es macht die Entwicklung sehr schwierig. – Kcoder

+0

Ich füge auch hinzu Ich benutze VS 2015 Enterprise und habe MS.CodeDom auf 1.0.1 (neueste) und MS.Net.Compilers auf 1.1.1 (neueste) aktualisiert. – Kcoder

Antwort

88

Hier ist, wie ich das Problem behoben:

Zuerst reset the Visual Studio Component Cache von Visual Studio schließen und löschen Sie diesen Ordner:

C:\Users\[Username]\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache

Und schließlich, überprüfen Sie die web.config Dateien und Änderung:

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

bis

<appSettings> 
    <add key="webpages:Version" value="3.0.0.0" /> 
    ... 
</appSettings> 
+13

Durch das Löschen des ComponentModelCache-Ordners funktionierte es für mich .. meine Webseiten-Version war bereits 3.0 – tarzanbappa

+0

Habe nichts für mich getan ... – oligofren

+0

Erstellen Sie ein neues MVC-Projekt und vergleichen Sie die beiden web.config-Dateien mit denen in Ihrem Projekt. Achten Sie besonders auf die Versionsnummern von 'System.Web.WebPages.Razor' und' System.Web.Mvc', um sicherzustellen, dass sie auch auf dem neuesten Stand sind. – Kcoder

1

Ich hatte das gleiche Problem, aber das obige hat nicht funktioniert. Ich löschte auch alle 4 Dateien im Component-Cache, die nicht funktionierten. Mir ist aufgefallen, dass die Zeile unter <appSettings> auf false gesetzt wurde. Ich änderte es zu true und die roten Squigs waren weg.

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

+0

Ich habe versucht, den Wert auf wahr zu ändern, und das hat nicht für mich funktioniert. –