2016-01-21 16 views
46

Utilizzo la versione di Visual Studio 2015 Community e ho creato un progetto ASP.NET MVC 5.Si è verificato un errore imprevisto durante il tentativo di risolvere la direttiva helper del tag '@addTagHelper'

Quando apro una vista (Index di Home o qualsiasi altra), mostra le prime tre righe della pagina sottolineate con il rosso come problema di sintassi. Ecco l'errore:

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

Lo screenshot:

@addTagHelper error message

Quando costruisco il progetto, è costruire con successo. Quando lo eseguo, mostra un sacco di errori, ma esegue l'applicazione.

Index View with errors

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

e

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

Come posso liberarmi di questo?

+0

Avere lo stesso problema esatto oggi. Ho aggiornato il progetto a MVC 5 e C# 6 e ora ogni vista viene protetta da questa schifezza. Il sito funziona ancora e compila bene, ma rende lo sviluppo molto difficile. – Kcoder

+0

Aggiungerò anche che sto utilizzando VS 2015 Enterprise e che ho aggiornato MS.CodeDom a 1.0.1 (più recente) e MS.Net.Compilers alla 1.1.1 (più recente). – Kcoder

risposta

88

Ecco come ho risolto il problema:

In primo luogo, reset the Visual Studio Component Cache chiudendo Visual Studio e l'eliminazione di questa cartella:

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

E, infine, controllare i file web.config e il cambiamento:

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

a

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

Eliminando la cartella ComponentModelCache ha funzionato per me .. la mia versione di pagine Web era già 3.0 – tarzanbappa

+0

Non ho fatto nulla per me ... – oligofren

+0

Creare un nuovo progetto MVC e confrontare i due file web.config con quelli del progetto. Prestare particolare attenzione ai numeri di versione di 'System.Web.WebPages.Razor' e' System.Web.Mvc' per assicurarsi che siano aggiornati pure. – Kcoder

1

Ho avuto lo stesso problema, ma quanto sopra non ha funzionato. Ho anche cancellato tutti e 4 i file nella cache dei componenti che non funzionavano. Ho notato che la riga sotto <appSettings> è stata impostata su false. L'ho cambiato in true e le squadre rosse erano sparite.

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

+0

Ho provato a cambiare il valore in true e questo non ha funzionato per me. –

Problemi correlati