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

5voto

Gokulnath Points 75

Après avoir installé Microsoft.Web.Infrastructure par Nuget-Package Manager

PM> Install-Package Microsoft.Web.Infrastructure

Copiez le Microsoft.Web.Infrastructure.dll manuellement à partir du Nuget-Package de votre application web, puis collez-le dans le dossier bin de votre application web déployée sur le serveur web.

paquets \Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll

Ça a marché pour moi.

4voto

contactmatt Points 3953

Update-Package -reinstall Microsoft.Web.Infrastructure n'a pas fonctionné pour moi, car je recevais sans cesse des erreurs indiquant qu'il était déjà installé.

J'ai dû naviguer jusqu'à la Microsoft.Web.Infrastructure.1.0.0.0 dans le dossier des paquets et supprimez manuellement ce dossier.

Après avoir fait cela, exécuter Install-Package Microsoft.Web.Infrastructure l'a installé.

Note : CopyLocal a été automatiquement mis à true.

2voto

Salar Afshar Points 128

Il est parfois nécessaire de supprimer le paquet avec force puis de le réinstaller. Cela fonctionne pour moi. essayez de supprimer le paquet

Uninstall-Package Microsoft.Web.Infrastructure -force

puis réinstaller

Install-Package Microsoft.Web.Infrastructure

0voto

Zly-Zly Points 51

J'ai eu le même problème et la "Microsoft.Web.Infrastructure.dll" semblait manquer. J'ai essayé plusieurs conseils et installé des MVC etc. et rien n'a aidé. La solution a été d'installer "Web Services Enhancements (WSE) 1.0 SP1 for Microsoft .NET" qui inclut Microsoft.Web.Infrastructure.dll. Disponible à l'adresse suivante http://www.microsoft.com/en-gb/download/details.aspx?id=4065

0voto

J'ai eu le même problème. J'ai essayé d'installer Visual Studio 2010 SP1 mais cela n'a pas fonctionné.

Finalement, j'ai obtenu la dll Microsoft.Web.Infrastructure.dll du collègue. Vous pouvez trouver la dll dans le PC de votre ami où le projet fonctionne parfaitement. Essayez de chercher la dll dans Temp/Temporary ASP.NET Files. Allez dans Temp en utilisant %temp% dans la fenêtre d'exécution.

Après avoir obtenu la dll dans votre PC, ajoutez simplement la référence à votre projet et cela fonctionnera.

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