Je rencontre exactement le même problème que l'affiche dans ce question. J'ai un projet de studio visuel C# dont j'essaie d'appeler une fonction dans une autre DLL (qui fait aussi partie de la solution).C# dll problème dans Windows 7
La DLL est un C++ et la fonction exportée je suis en train d'appeler est déclarée comme celui-ci en C#:
[DllImport("SomeDLL.dll")]
private extern static IntPtr SomeFunction(IntPtr someVar1, IntPtr someVar2, bool someVar3);
Lorsque je tente d'appeler la fonction de C# Je vois ce qui suit sur la console sortie dans le débogueur:
'MyApp.exe': Loaded 'C: \ SomePath \ Construction \ Eddy \ Debug \ SomeDLL.dll'
'MyApp.exe': Déchargé « C: \ SomePath \ Build \ Eddy \ Debug \ SomeDLL.dll '
'MyApp.exe': Chargé 'C: \ SomePath \ Build \ Eddy \ Debug \ SomeDLL.dll'
'MyApp.exe': déchargé 'C: \ SomePath \ Build \ Eddy \ Debug \ SomeDLL.dll '
Et je l'obtenir la boîte de dialogue d'erreur suivant:
Impossible de charger la DLL 'SomeDLL.dll': le module spécifié n'a pas pu être trouvé. (Exception de HRESULT: 0x8007007E)
Le code en question fonctionne très bien sur mon windows XP collègues machine. Il y a aussi une autre DLL C++ dans la solution qui fonctionne bien.
Comme vous l'avez marqué Windows 7 - 64 bits, est-il possible que votre DLL soit spécifique à 32 bits ou qu'elle soit dépendante d'une DLL 32 bits. Vous pouvez essayer de construire votre projet pour la plate-forme x86 et vérifier si l'erreur disparaît (juste pour voir si c'est le problème avec 32 bits/64 bits). – VinayC