94 votes

Erreur Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

J'ai une petite application web. Qui fonctionnait bien jusqu'à ce que j'ajoute deux genericHandler dans mon application.

J'ai effectué les modifications suivantes pour le gestionnaire http

 <system.web>
    <authentication mode="Forms" >
        <forms protection="All" timeout="720" defaultUrl="Default.aspx" loginUrl="Login.aspx" >
        </forms>
    </authentication>
    <authorization>
        <deny users="?"/>
    </authorization>
    <compilation debug="true" targetFramework="4.0" />

    <httpHandlers>
        <!--Code Log Handler-->
        <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" />
        <add verb="*" type="InfoDomeNewUI.Handler.SendOWA" path="SendOWA.ashx" />
        <add verb="*" type="InfoDomeNewUI.Handler.SendSOS" path="SendSOS.ashx" />
    </httpHandlers>
    <customErrors mode="Off">
        <error statusCode="404" redirect="Templates/PageNotFound.html" />
    </customErrors>
</system.web>
<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
        <!--Code Log Handler-->
        <add name="LogHandler1" path="SendOWA.ashx" verb="*" type="InfoDomeNewUI.Handler.SendOWA"/>
        <!-- SMS SENDER-->
        <add name="SendSOS" path="SendSOS.ashx" verb="*" type="InfoDomeNewUI.Handler.SendSOS"/>
    </handlers>
</system.webServer>

Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

J'utilise asp.net4.0 et C#. Je n'utilise pas MVC
Sur l'hôte local, tout fonctionne bien.
Mais lorsque j'héberge le code publié, il me donne l'erreur ci-dessus.

Stack Trace:-

[FileNotFoundException : Impossible de charger le fichier ou l'assemblage 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié]. System.Web.Http.WebHost.SuppressFormsAuthRedirectModule.Register() +0

[InvalidOperationException : La méthode d'initialisation du démarrage de la préapplication Start sur le type System.Web.Http.WebHost.PreApplicationStartCode a généré une exception avec le message d'erreur suivant : Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Le système ne peut pas trouver le fichier spécifié ] System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) +11708830 System.Web.Compilation.BuildManager.CallPreStartInitMethods() +465 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLeve

[HttpException (0x80004005) : La méthode d'initialisation du démarrage de la préapplication Start sur le type System.Web.Http.WebHost.PreApplicationStartCode a généré une exception avec le message d'erreur suivant : Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Le système ne peut pas trouver le fichier spécifié ] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11697760 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4866485

0voto

Phil Vallone Points 1168

La republication du site a réglé le problème pour moi.

0voto

J'étais confronté au même problème et malheureusement rien ne fonctionnait ici. Finalement, je suis tombé sur ce lien : https://blogs.msdn.microsoft.com/jjameson/2009/11/18/the-copy-local-bug-in-visual-studio/

Il s'avère que la solution est plutôt stupide : mettez copy-local pour la dll microsoft.web.infrastructure à False, puis remettez-le à True.

Au fait, je pense que ce qui se passe, c'est qu'il y a deux versions de la dll microsoft.web.infrastructure, une qui est préinstallée dans le GAC, et une autre qui est maintenant un paquet nuget. Je pense que l'une masque l'autre, ce qui cause des problèmes. Dans mon cas particulier, sur mon serveur de construction, j'ai besoin qu'elle soit copiée dans un dossier (ce dossier est ensuite zippé et envoyé au déploiement). Je suppose que le système avait une copie locale et s'est dit "non, ça va aller".

0voto

Beau Points 1

J'ai un site web qui ne contient que des fichiers. J'ai ajouté MVC 5 à l'application webforms (ciblant net45). J'ai dû modifier les packages.config

package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net45"

à

package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net45" developmentDependency="true"

afin qu'il puisse démarrer sur la boîte locale en mode débogage (auparavant, l'erreur décrite ci-dessus se produisait). Exécution de VS 2017 sur Windows 7... ouvert par Fichier > Ouvrir > Site Web > Fichier (choix du répertoire racine en dehors de IIS).

0voto

Hong Points 1465

J'ai eu le même problème après avoir mis à jour un certain nombre de paquets NuGet.
J'ai essayé toutes les méthodes de suppression, de nettoyage, de réintroduction décrites ici et ailleurs, sans succès. Les références n'avaient pas Microsoft.Web.Infrastructure bien que le gestionnaire NuGet ait montré qu'il était installé.

Le problème a été résolu par un remplacement :

  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />

con

  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" />

dans packages.config. Le coupable est apparemment "net45".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X