J'ai un code C natif, j'ai compilé le code dans vC++ 2008 et son compilé avec 'x64' comme plate-forme dans le gestionnaire de configuration et j'ai une application C# qui est également compilée avec 'x64' comme plateforme et appelle la fonction dll. J'ai utilisé Dllimport pour appeler la fonction de la DLL comme ci-dessous.64 bits dll dans le processus 64 bits Vista échoue - Impossible de charger la DLL 'dllname': Le module spécifié est introuvable
using System.Runtime.InteropServices;
namespace test
{
public partial class Form1 : Form
{
[DllImport("mtest", CharSet = CharSet.Ansi)]
public extern static void e_path(string path);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("test");
swe_set_ephe_path("E:\\Gan");
}
}
}
au moment de l'exécution de l'application que je reçois l'erreur comme ci-dessous:
Une exception non gérée du type « System.DllNotFoundException » a eu lieu dans test.exe
Informations complémentaires: Impossible de load DLL 'mydll': Le module spécifié est introuvable. (Exception de HRESULT: 0x8007007E)
Pourriez-vous s'il vous plaît m'aider à résoudre ce problème. Si je cours à la fois la DLL et l'applicaition fonctionne très bien. Mais j'ai besoin que les fonctions dll soient appelées à partir de mes pages ASP, j'ai donc besoin à la fois de la DLL et de l'application en 64 bits.
AUTRES INFORMATIONS: quand je suis le dll pour la dépendance à l'aide marcheur de dépendance pour 64 bits Il montre que le Kernel32.dll et NTDLL.DLL et mydll.dll est x64.
aidez-moi s'il vous plaît avec ceci.
Merci à l'avance,
Pouvez-vous expliquer ce que vous voulez dire quand vous dites « Si je cours à la fois la dll et applicaition son fonctionne bien. » [sic] –
Je veux dire que si la DLL est de 32 bits et que l'application fonctionne sous plate-forme x86, elle fonctionne correctement. –
Je vous suggère d'essayer ProcessMonitor - http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx - pour voir ce qui ne va pas. Il vous montrera toutes les tentatives pour charger les bibliothèques et les dépendances correctives et vous conduira probablement à la solution. – sharptooth