it-swarm.com.de

Der Versuch von 'System.Web.Mvc.PreApplicationStartCode.Start ()' zur kritischen Methode 'System.Web.WebPages.Razor.PreApplicationStartCode.Start ()' ist fehlgeschlagen

Meine Anwendung funktionierte einwandfrei und nach einigen Upgrades erhalte ich diesen Fehler.

Serverfehler in '/' Anwendung.


Versuch der sicherheitstransparenten Methode 'System.Web.Mvc.PreApplicationStartCode.Start()', auf die sicherheitskritische Methode 'System.Web.WebPages.Razor.PreApplicationStartCode.Start()' zuzugreifen, ist fehlgeschlagen . Beschreibung: Während der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Überprüfen Sie die Stack-Ablaufverfolgung auf weitere Informationen zu dem Fehler und wo er im Code entstanden ist. 

Ausnahmedetails: System.MethodAccessException: Der Versuch, durch die transparente Sicherheitsmethode 'System.Web.Mvc.PreApplicationStartCode.Start()' auf die sicherheitskritische Methode 'System.Web.WebPages.Razor.PreApplicationStartCode.Start()' zuzugreifen, ist fehlgeschlagen.

Quellfehler : Während der Ausführung der aktuellen Webanforderung wurde eine nicht behandelte Ausnahme generiert. Informationen zum Ursprung und zum Ort der Ausnahme können mithilfe der Ablaufverfolgung für Ausnahmestapel identifiziert werden.

Versionsinformationen : Microsoft .NET Framework Version: 4.0.30319; ASP.NET-Version: 4.0.30319.18055

Ich kann mich nicht an die Updates erinnern, die ich gemacht habe. Gibt es eine Möglichkeit, dies zu beheben?

59
TylarBen

Ich denke, das Problem wurde gelöst, aber wenn nicht, verwenden Sie dieses Paket von Nuget:

Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

Ich habe einen Tag für diesen Fehler verschwendet, aber diese einzelne Zeile hat die Arbeit für mich erledigt

71
Vivekh

versucht . . Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

und. . . Install-Package -Id Microsoft.AspNet.WebHelpers

beide ohne erfolg, mussten schließlich alle pakete via nuget aktualisieren. . hat funktioniert!!

http://www.3dbuzz.com/forum/threads/202082-ASP-net-MVC-Error-before-application-start

Wenn Sie Visual Studio verwenden, öffnen Sie die Fenster der Nuget-Pakete und führen Sie .__ aus. Update-Package, dies aktualisiert alle Ihre DLL auf die letzte Version. Ob es funktioniert immer noch nicht, siehe diese Seite: http://www.asp.net/mvc/tutorials/mvc-5/wie-nach-upgrade-an-aspnet-mvc-4-und-web-api-project-to-aspnet-mvc-5- and-web-api-2

13
defcde

Ich habe diese Fehlermeldung erhalten, als ich eine Site bereitstellte, auf der Mvc von 4 auf 5 aktualisiert wurde, aber web.config nicht aktualisiert hatte.

Änderung von diesem:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>

zu diesem:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>

löste das Problem für mich.

7
Fredrik Stolpe

Bei mir ist auch derselbe Fehler aufgetreten. Es wurde durch die Installation des NuGet-Pakets behoben

  Install-Package -Id  Microsoft.AspNet.WebHelpers
6
dnyaneshwar

Ich hatte ein ähnliches Problem und löste es durch den Artikel Updating Razor 2.0 auf 3.0 mit Asp.net MVC von Anthony Fassett .

Der folgende Codeblock fehlte in meiner Web.Config:

<dependentAssembly>
  <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
4
user3383724

Ich habe mein Problem durch Anwenden des Befehls "Install-Package Microsoft.AspNet.Mvc" gelöst.

Danach löste ich mein Projekt mit der Web-API.

1
Alison Alves

In meinem Fall hatte eine Nuget-Installation meine Web.Config geändert:

    <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="1.1.0.0" />
  </dependentAssembly>

newVersion="1.1.0.0" ** solltenewVersion="5.1.0.0"sein

1

Es gibt mehrere Lösungen für dieses Problem:

  • Folgen Sie der Anleitung zum Upgrade Ihrer asp.net-Lösung
  • Vergessen Sie nicht, die Microsoft-Web-Helpers-DLL zu entfernen und das Nuget-Paket Microsoft.AspNet.WebHelpers zu installieren

Stellen Sie dann sicher, dass Sie alle Ihre Nuget-Pakete aktualisiert haben (verwenden Sie "Upgrade-Package") und überprüfen Sie Ihre DLLs in der Datei web.config.

Der Fehler ist wahrscheinlich eine Aktion in einer alten DLL, wenn Sie Ihr Projekt konvertieren.

1
NicoJuicy

In meinem Fall war es ein Inkompatibilitätsproblem. Ich hatte diese Pakete:

  • Microsoft.AspNet.Mvc version 4.x
  • Microsoft.AspNet.Razor und Microsoft.AspNet.WebPages, Version 3.x

Ich nehme an, dass das Upgrade von Mvc auf 5.x funktioniert hat, aber ich musste Mvc 4.x beibehalten, also musste ich Razor und Mvc auf 2.x herunterstufen. Dazu müssen Sie lediglich die ältere Version wie folgt installieren:

Install-package Microsoft.AspNet.WebPages -version 2.0.30506
Install-Package Microsoft.AspNet.Razor -Version 2.0.30506

Nach dem Downgrade dieser Pakete verschwand der erste Fehler, aber es gab noch einen weiteren Fehler, der auf ein Problem in web.config zurückzuführen war. Ich musste die verbindliche Weiterleitung für Razor ändern:

<dependentAssembly>
     <assemblyIdentity name="System.Web.Razor" ... />
  <!--bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /-->
     <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>

Ich weiß nicht warum, aber die verbindliche Weiterleitung wurde von der Nuget-Installation nicht aktualisiert, was eigentlich hätte passieren sollen.

1
JotaBe

Klicken Sie mit der rechten Maustaste auf Projekt -> Nuget-Pakete verwalten, um eine Lösung zu finden, als zu suchen

Microsoft.AspNet.Mvc und Microsoft.Net.Compilers Neueste Versionen aktualisieren 

1
Hadnazzar

Ich habe diese Fehlermeldung erhalten, als ich ein NuGet-Paket aktualisiert habe - ' Microsoft.AspNet.Web Pages ' Version 3.2.3. Ich verwende VS2012 und starte eine neue Vanilla ' ASP.NET MVC 4-Webanwendung ' mit Vorlage ' Internetanwendung ' mit Windows-Authentifizierung oder Windows Azure-Authentifizierung.

Möglicherweise ist das Update nicht mit anderen Komponenten kompatibel, und diese anderen Komponenten müssen ebenfalls aktualisiert werden. Andere Antworten schlagen vor, Microsoft.AspNet.Mvc , Microsoft.Net.Compilers und/oder Microsoft.AspNet.WebHelpers zu aktualisieren.

0
barrypicker

Ich arbeite an ASP.NET Web API project und hole dasselbe Problem nach dem Hinzufügen des folgenden Nugets CacheCow.Server.EntityTagStore.SqlServer

Es wurde das Installieren dieses gelöst

Install-Package Microsoft.AspNet.Mvc
0
reza.cse08

Installationspaket -Id Microsoft.AspNet.WebHelpers

Installationspaket Microsoft.AspNet.Mvc -Version 5.0.0 

Das hat bei mir funktioniert

0
priyanka