2016-01-21 19 views
46

Używam edycji społecznościowej programu Visual Studio 2015 i utworzyłem projekt ASP.NET MVC 5.Wystąpił nieoczekiwany błąd podczas próby rozwiązania dyrektywy pomocnika tagów "@addTagHelper"

Po otwarciu widoku (Index z Home lub dowolnego innego), pierwsze trzy wiersze strony są podkreślone kolorem czerwonym jako problem z składnią. Tutaj jest błąd:

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

Zrzut ekranu:

@addTagHelper error message

Kiedy budować projektu, to zbudować pomyślnie. Kiedy go uruchomię, pokazuje wiele błędów, ale uruchamia aplikację.

Index View with errors

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

i

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

Jak mogę pozbyć się tego?

+0

Mając dokładnie ten sam problem dzisiaj. Ulepszono projekt do MVC 5 i C# 6, a teraz każdy widok jest obsypany tym gównem. Strona wciąż działa i kompiluje się dobrze, ale bardzo utrudnia rozwój. – Kcoder

+0

Dodam też, że używam VS 2015 Enterprise i zaktualizowałem MS.CodeDom do wersji 1.0.1 (najnowsza) i MS.Net.Compilers do wersji 1.1.1 (najnowszej). – Kcoder

Odpowiedz

88

Oto jak naprawiłem problem:

pierwszy, reset the Visual Studio Component Cache przez zamknięcie Visual Studio i usuwanie folderu:

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

i wreszcie sprawdzić web.config pliki i zmiany:

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

do

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

Usuwając folder ComponentModelCache, który działał dla mnie .. Moja wersja strony była już 3.0 – tarzanbappa

+0

Nic dla mnie nie zrobiła ... – oligofren

+0

Utwórz nowy projekt MVC i porównaj dwa pliki web.config z tymi w projekcie. Zwróć szczególną uwagę na numery wersji 'System.Web.WebPages.Razor' i' System.Web.Mvc', aby upewnić się, że są one aktualne. – Kcoder

1

Miałem ten sam problem, ale powyższe nie działało. Usunąłem też wszystkie 4 pliki w pamięci podręcznej komponentów, które nie działały. Zauważyłem, że linia poniżej <appSettings> została ustawiona na false. Zmieniłem go na true, a czerwone skrzydełka już nie było.

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

+0

Próbowałem zmienić wartość na true, a to nie działało dla mnie. –