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.
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>
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.
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.
Essaye ça:
true
... a travaillé pour moi quand j'ai eu le même problème.
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.