Impossible de charger la DLL 'mydll.dll': Le module spécifié est introuvable
Sur mon portable, où je développe l'application WPF, tout fonctionne bien, le débogage et le lancement de l' .exe application.
Mon application utilise une DLL native, pour résoudre le problème de référence-je ajouter de la DLL dans bin/debug (libération) dossier. Je accéder à l'aide de DllImport comme ceci:
[DllImport("xptodll.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int LDA_About();
Le problème est que lorsque j'essaie d'exécuter l' .exe application sur un autre PC, quand j'ai besoin d'accéder à la DLL, il se bloque. - Je faire une poignée de journaux de toutes les exceptions non gérées et l'erreur suivante s'affiche:
Impossible de charger la DLL 'xptodll.dll': Le module spécifié n'a pas pu être
trouvé. Exception de HRESULT: 0x8007007E)
La bin/debug a xptodll.dll et les fichiers d'application: .exe, .application, .exe.config .exe.manifeste, .apb.
Peut-être ce qui est important, l'xptodll.dll interagit avec le matériel, mais pourquoi wouldnt ont le même comportement sur les deux machines?
Vous ne pouvez pas obtenir la version de débogage de votre fichier DLL aller sur une autre machine, il n'aura pas la version de débogage de la bibliothèque CRT disponibles. Seulement déployer la version Release. Et de déployer la Dll runtime il a besoin: microsoft.com/download/en/details.aspx?id=5555
et je dois l'installer vc++ 2010 sur chaque machine, j'ai installer l'application ? pourquoi VisualStudio ne catch dépendance que, quand un créer un projet d'installation ? détecte uniquement .net de dépendance ....
OriginalL'auteur Cristóvão Macedo | 2011-11-19
Vous devez vous connecter pour publier un commentaire.
Il est probablement un peu plus de la dépendance qui est un échec. Ma conjecture est que
xptodll.dll
lui-même a des dépendances sur d'autres bibliothèques manquantes sur la machine en panne. La documentation dexptodll.dll
doit expliquer quelles sont les dépendances sont nécessaires. Si la documentation ne permet pas de rendre évident ce qui est manquant, vous pouvez diagnostiquer le problème vous-même à l'aide de Dependency Walker.A votre problème à été résolu, alors?
oui, il semble fonctionner correctement après que j'ai mis plus de 4 dll windows dans le .dossier exe. Est-ce la solution ? il arent une autre façons de résoudre ce problème ?
Je ne pense pas que vous devriez être de copier Dll de Windows n'importe où. Je pense que vous devez parler avec le vendeur de la DLL pour savoir ce qu'il se passe.
Aussi, accepter cette réponse si il résolu votre problème.
OriginalL'auteur David Heffernan
Une autre question pourrait être (à côté de tout cela "mettre la DLL dans l'emplacement correct") que si la DLL a été créé avec Visual Studio, par exemple. Visual Studio 2012, le VCRedistributable pour la version 64 bits doit être installé (vcredist_x64.exe), qui est profided par Visual Studio.
OriginalL'auteur kSchwarz