c# @html - Beim Auflösen der Tag-Helper-Direktive '@addTagHelper' ist ein unerwarteter Fehler aufgetreten




partial .net (3)

So habe ich das Problem behoben:

Setzen Sie zunächst den Visual Studio Component Cache zurück, indem Sie Visual Studio schließen und diesen Ordner löschen:

C: \ Benutzer \ [Benutzername] \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ ComponentModelCache

Überprüfen Sie web.config die web.config Dateien und ändern Sie sie:

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

zu

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

Ich verwende die Community Edition von Visual Studio 2015 und habe ein ASP.NET MVC 5-Projekt erstellt.

Wenn ich eine Ansicht öffne ( Index of Home oder eine andere), werden die ersten drei Zeilen der rot unterstrichenen Seite als Syntaxfehler angezeigt. Hier ist der Fehler:

Beim Auflösen der Tag-Hilfselektive '@addTagHelper' mit dem Wert 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNet.Mvc.Razor' ist ein unerwarteter Fehler aufgetreten. Fehler: Objektreferenz wurde nicht auf eine Instanz eines Objekts festgelegt

Der Screenshot:

Wenn ich das Projekt erstelle, wird es erfolgreich erstellt. Wenn ich es ausführe, zeigt es eine Menge Fehler, aber es führt die Anwendung aus.

Der Typ oder Namespace-Name 'Mvc' existiert nicht im Namespace 'Microsoft.AspNet' (fehlt eine Assembly-Referenz?)

und

'_Page_views_home_index_cshtml.ExecuteAsync ()': keine geeignete Methode zum Überschreiben gefunden

Wie kann ich das loswerden?


Ich hatte das gleiche Problem, aber das obige hat nicht funktioniert. Ich löschte auch alle 4 Dateien im Component-Cache, die nicht funktionierten. Ich habe festgestellt, dass die Zeile unter <appSettings> auf false . 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" />


In meinem Fall hatte ich ein Problem in Jenkins, als es versuchte, es in Octopus mit folgendem Fehler zu implementieren:

MSBUILD : OctoPack error OCT-1676060969: Failed to build the path for '\bin\roslyn\csc.exe' relative to 'T:\workspace\machine.engine\Machine.engine.Test': Invalid URI: The format of the URI could not be determined.. See the inner exception for more details. [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969: System.Exception: Failed to build the path for '\bin\roslyn\csc.exe' relative to 'T:\workspace\machine.engine\Machine.engine.Test': Invalid URI: The format of the URI could not be determined.. See the inner exception for more details. ---> System.UriFormatException: Invalid URI: The format of the URI could not be determined. [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at System.Uri..ctor(String uriString) [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.Util.OctopusPhysicalFileSystem.GetPathRelativeTo(String fullPath, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\Util\OctopusPhysicalFileSystem.cs:line 211 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    --- End of inner exception stack trace --- [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.Util.OctopusPhysicalFileSystem.GetPathRelativeTo(String fullPath, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\Util\OctopusPhysicalFileSystem.cs:line 224 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.CreateOctoPackPackage.AddFiles(XContainer nuSpec, IEnumerable`1 sourceFiles, String sourceBaseDirectory, String targetDirectory, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\CreateOctoPackPackage.cs:line 443 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.CreateOctoPackPackage.Execute() in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\CreateOctoPackPackage.cs:line 190 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
Done Building Project "T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj" (default targets) -- FAILED

Ursache

Nach einiger Zeit nutzte ich eine interne entwickelte Komponente, die Microsoft.Net.Compilers . Der Grund für die Verwendung von Microsoft.Net.Compilers die interne Komponente bestand darin, dieses Problem zu beheben ( C #: Ungültige Ausdruckskompilierung auslösen ) und wurde auf diese Weise gelöst ( Wie wird c # 7 mit Visual Studio 2015 verwendet? ). Dies führt dazu, dass, wenn ich die zuständigen auf dem Hauptprogramm installiert habe, die Microsoft.Net.Compilers automatisch hinzugefügt werden.

Lösung

Meine Arbeit war, Deinstallation von unserer internen Komponente durch (folgende @ MalikKhalil Antwort)

PM> Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
PM> Uninstall-package Microsoft.Net.Compilers

Und wählen Sie C # 7 Compiler in Jenkins statt C # 6 und neu zu erstellen, das ist, um sicherzustellen, dass alles richtig funktioniert und baut.

Schließlich versuchte ich in meinem Hauptprogramm meine interne Komponente zu aktualisieren. Und alles als neu bauen. Es hat ohne irgendwelche Probleme oder Probleme gebaut.





c# asp.net-mvc razor asp.net-mvc-5 visual-studio-2015