web-dev-qa-db-fra.com

Impossible de charger le fichier ou une exception d'assembly à partir de HRESULT: 0x80131040

J'ai créé mon premier projet MVC 4 et cela fonctionne parfaitement sur un serveur local. Mais lorsque je le publie dans un dossier local et que je télécharge le contenu du dossier sur le serveur d'hébergement. J'essaye de l'exécuter et j'obtiens cette erreur:

Impossible de charger le fichier ou l'assembly 'DotNetOpenAuth.Core, version = 4.0.0.0, Culture = neutre, PublicKeyToken = 2780ccd10d57b246' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié. Quelqu'un peut-il m'aider s'il-vous-plaît?

Web.config:

<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
  </dependentAssembly>
</assemblyBinding>

P.S Le même projet dans Web Forms fonctionne sur un serveur d'hébergement.

20
levkaster

Enfin trouvé la réponse !! Allez à Références -> cilck sur le fichier dll à l'origine du problème -> sélectionnez les propriétés -> vérifiez la version -> faites correspondre la version dans les propriétés à la configuration Web 

<dependentAssembly>
    <assemblyIdentity name="YourDllFile" publicKeyToken="2780ccd10d57b246"               culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-YourDllFileVersion" newVersion="YourDllFileVersion" />
  </dependentAssembly>
51
levkaster

Ce qui a immédiatement fonctionné pour moi a été:

  • J'ai localisé le dossier bin (la photo ci-dessous montre).

  • déplacé toutes les dll dans un autre dossier pour la sécurité.

  • puis reconstruit le projet. 

  • après avoir résolu le problème, supprimé les anciens fichiers dll.

 Open file location

3
Nick Bullatovci

Si votre solution contient deux projets en interaction et utilisant une même référence, Et si la version de la référence respective est différente dans les deux projets; Ensuite, de telles erreurs se sont produites. Continuez à mettre à jour toutes les références à la dernière.

2
Priyanka Mane

Ajoutez les fichiers DLL suivants au dossier bin:

DotNetOpenAuth.AspNet.dll
DotNetOpenAuth.Core.dll
DotNetOpenAuth.OAuth.Consumer.dll
DotNetOpenAuth.OAuth.dll
DotNetOpenAuth.OpenId.dll
DotNetOpenAuth.OpenId.RelyingParty.dll

Si vous n'en avez pas besoin, supprimez dependentAssemblies de la configuration nommée 'DotNetOpenAuth.Core' etc.

0
Jhoon Bey

Essaye ça:

  • Editez le fichier * .pubxml dans le dossier PublishProfiles
  • set DeleteExistingFiles true
  • mettre à jour tous les paquets de nuggets, reconstruire, republier et le tour est joué, le problème est résolu!

... a travaillé pour moi quand j'ai eu le même problème. 

0

Vérifiez si le projet ayant l'erreur HRESULT: 0x80131040 est utilisé/référencé par un projet. Si oui, veuillez vérifier si ces projets ont un fichier .dll similaire référencé et si la version est la même. S'ils ne portent pas le même numéro de version, alors l'erreur est générée.

0
john carlo