Mon application fonctionnait bien et après avoir effectué certaines mises à niveau, j'obtiens cette erreur.
Erreur serveur dans l'application '/'.
La tentative d'accès à la méthode critique de sécurité '
System.Web.Mvc.PreApplicationStartCode.Start()
' par la méthode transparente de sécurité 'System.Web.WebPages.Razor.PreApplicationStartCode.Start()
' a échoué . Description: une exception non gérée s'est produite lors de l'exécution de la demande Web en cours. Consultez la trace de la pile pour plus d’informations sur l’erreur et son origine dans le code.Détails de l'exception:
System.MethodAccessException
: La tentative d'accès à la méthode critique de sécurité 'System.Web.Mvc.PreApplicationStartCode.Start()
' par la méthode transparente de sécurité 'System.Web.WebPages.Razor.PreApplicationStartCode.Start()
' a échoué.Erreur source : Une exception non gérée a été générée lors de l'exécution de la requête Web en cours. Les informations concernant l'origine et l'emplacement de l'exception peuvent être identifiées à l'aide de la trace de pile d'exceptions ci-dessous.
Informations sur la version : Microsoft .NET Framework Version: 4.0.30319; Version ASP.NET: 4.0.30319.18055
Je ne me souviens pas des mises à jour que j'ai faites. Y'a t'il un moyen d'arranger cela?
Je pense que le problème a été résolu, mais sinon, utilisez ce paquet de Nuget:
Install-Package Microsoft.AspNet.Mvc -Version 5.0.0
J'ai perdu un jour pour cette erreur mais cette seule ligne a fait le travail pour moi
a tenté . . . Install-Package Microsoft.AspNet.Mvc -Version 5.0.0
et. . . Install-Package -Id Microsoft.AspNet.WebHelpers
les deux sans succès, a finalement dû mettre à jour tous les paquets via Nuget. . travaillé!!
http://www.3dbuzz.com/forum/threads/202082-ASP-net-MVC-Error-before-application-start
Si vous utilisez Visual Studio, ouvrez les fenêtres des packages de nuget et exécutez Update-Package, cela mettra à jour toutes vos dll avec la dernière version. Si cela ne fonctionne toujours pas, voir cette page: http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5- et-web-api-2
J'ai eu cette erreur lors du déploiement d'un site sur lequel Mvc avait été mis à niveau de 4 à 5 mais je n'avais pas mis à jour web.config.
Changer de ceci:
<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>
pour ça:
<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>
résolu le problème pour moi.
Pour moi aussi la même erreur s'est produite. Cela a été corrigé en installant le paquet NuGet
Install-Package -Id Microsoft.AspNet.WebHelpers
J'ai eu un problème similaire et je l'ai résolu en me basant sur l'article Mise à jour de Razor 2.0 à 3.0 avec Asp.net MVC par Anthony Fassett
Le bloc de code suivant était absent de mon 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>
J'ai résolu mon problème en appliquant la commande "Install-Package Microsoft.AspNet.Mvc".
Après cela, j'ai résolu mon projet avec une API Web.
Dans mon cas, une installation de nuget avait changé mon Web.Config:
<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"
** devrait êtrenewVersion="5.1.0.0"
Il existe plusieurs solutions à ce problème:
Ensuite, assurez-vous d’avoir mis à jour tous vos paquets de nugets (utilisez "Upgrade-Package") et vérifiez votre DLL dans web.config.
L'erreur est probablement une action dans une ancienne DLL lorsque vous convertissez votre projet.
Dans mon cas, c'était un problème d'incompatibilité. J'ai eu ces pacakges:
Microsoft.AspNet.Mvc
version 4.xMicrosoft.AspNet.Razor
et Microsoft.AspNet.WebPages
, version 3.xJe suppose que la mise à niveau de Mvc
à 5.x aurait fonctionné, mais que je devais conserver Mvc
4.x, j'ai donc dû rétrograder Razor
et Mvc
à 2.x. Pour ce faire, il vous suffit d'installer l'ancienne version, comme ceci:
Install-package Microsoft.AspNet.WebPages -version 2.0.30506
Install-Package Microsoft.AspNet.Razor -Version 2.0.30506
Après la rétrogradation de ces packages, la première erreur a disparu, mais il y avait encore une autre erreur liée à un problème dans web.config
. J'ai dû changer la redirection de liaison pour Razor:
<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>
Je ne sais pas pourquoi, mais la redirection de liaison n'a pas été mise à jour par l'installation de Nuget, ce qui aurait dû être fait.
Clic droit sur projet -> Gérer les paquets Nuget pour trouver une solution à trouver
Microsoft.AspNet.Mvc et Microsoft.Net.Compilers update des dernières versions
J'ai reçu cette erreur lorsque j'ai mis à niveau un paquet NuGet - ' Microsoft.AspNet.Web Pages ' version 3.2.3. J'utilise VS2012 pour démarrer une nouvelle application Web Vanilla ' ASP.NET MVC 4 ' avec modèle ' Application Internet ' à l'aide de l'authentification Windows ou de l'authentification Windows Azure.
La mise à jour n'est peut-être pas compatible avec d'autres composants, et ces autres composants doivent également être mis à niveau. D'autres réponses suggèrent de mettre à jour Microsoft.AspNet.Mvc , Microsoft.Net.Compilers et/ou Microsoft.AspNet.WebHelpers .
Je travaille sur API Web ASP.NET project et récupère le même problème après avoir ajouté le nuget suivant CacheCow.Server.EntityTagStore.SqlServer
Il a résolu d'installer celui-ci
Install-Package Microsoft.AspNet.Mvc
Install-Package -Id Microsoft.AspNet.WebHelpers
Package d'installation Microsoft.AspNet.Mvc -Version 5.0.0
Cela a fonctionné pour moi