C# Impossible de charger la DLL (Module n'a pas pu être trouvé HRESULT: 0x8007007E)
erreur:Impossible de charger la DLL 'x.dll': Le module spécifié est introuvable. (Exception de HRESULT: 0x8007007E)
Système d'exploitation: Windows 7
J'ai deux stations, Visual Studio 2012, à l'aide .net 4.0; les autres n'ont pas VS installé
Sur la première station avec VS2012 j'ai une solution C# avec un projet C++ importés.
Je suis à l'aide d':
[DllImport("x.dll", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I4)]
Sur cette station de travail.
Mais quand j'ai déménagé de l'autre station (qui n'ont pas VS installé), il apparaît que l'erreur.
Si j'installe VS, c'est de travailler.
Quelles sont les raisons possibles de ce problème? Toutes les idées sur ce que je pouvais être manquant ou comment je pourrais déboguer ce problème?
OriginalL'auteur Ice | 2014-01-15
Vous devez vous connecter pour publier un commentaire.
La raison la plus probable est que la machine qui n'a pas de Visual Studio est installé manque le C++ runtime qui est nécessaire à votre DLL non managée. Installer le runtime C++ à partir de la version téléchargeable redistribuable.
Assurez-vous que votre non géré DLL est lié à l'encontre de la libération d'exécution et non pas le débogage de l'exécution. Ce dernier ne peut pas être redistribué.
Vous pouvez déboguer non géré DLL problèmes de dépendance à l'aide d'outils comme Dependency Walker, le Moniteur de Processus, etc.
Ensuite, utilisez Dependency Walker pour déboguer la dépendance manquante. Je ne serais pas du tout surpris si vous aviez liés à la DLL pour le débogage de l'exécution.
J'ai utilisé Dependency Walker pour déboguer la dépendance manquante et j'ai observé que sont ces dll manquant: mfc110.dll, mfc111d.dll, msvcp110.dl, msvcp110d.dll, msvcr110.dll, msvcr110d.dll. Solution: j'ai ajouté ces dll dans le dossier de lancement, le programme est désormais de travail. Je ne sais pas pourquoi il ne peut pas voir ces dll à partir de SysWOW64. Avez-vous une autre solution?
Vous avez associé le débogage de l'exécution. Vous ne pouvez pas redistribuer. Lien contre la libération de l'exécution. Clairement, vous avez la dépendance sur mfc. Besoin de résister à cette trop.
OriginalL'auteur David Heffernan
J'ai eu le même problème
Utiliser Dependency Walker pour vérifier les dépendances manquantes
Dans mon cas, j'ai été absent
msvcp110d.dll
etmsvcr110d.dll
J'ai copié ces deux fichiers à partir de mon dev PC pour tester PC
C:\Windows\SysWOW64
PC et travaillé!Aussi, vous pouvez ajouter Visual Studio C++ 11.0 DebugCRT(x86) comme une dépendance dans InstallShield pour le faire fonctionner
OriginalL'auteur kakopappa