J'ai cette DLL que j'ai créée il y a longtemps et que j'utilise pour me connecter à la base de données d'un logiciel spécifique pour lequel je développe. Je n'ai eu aucun problème pendant plus de 4 ans et d'innombrables applications avec cette DLL.Impossible de charger le fichier ou l'assemblage '***. Dll' ou l'une de ses dépendances
Essayer de déployer ma dernière création, je reçois l'erreur suivante:
System.IO.FileNotFoundException: Could not load file or assembly '***.dll' or one of its dependencies. The specified module could not be found.
Ainsi, pour chaque dll que j'ai jamais écrit, j'ai toujours fait une simple application de formulaires pour vérifier que dll par elle-même. L'exécution de cette application simple a généré la même erreur. La DLL ne charge ou n'utilise rien d'autre que: System, System.Data, System.XML. Donc, en ce qui concerne les dépendances, je ne vois rien de mal. Par ailleurs, tout fonctionne sur une station de dev. Le problème est limité aux stations de déploiement. .Net et les redistribuables nécessaires, puisque je fais tout en C++, sont déployés et fonctionnent. Exécution FUSLOGVW.exe a montré que tout fonctionnait correctement.
L'exécution de depends.exe a indiqué: Avertissement: Au moins un module a une importation non résolue en raison d'une fonction d'exportation manquante dans un module dépendant de la charge de retard.
J'ai déjà essayé de réécrire le tout. Qui a donné les mêmes résultats.
Des indices pour quelqu'un?
Permet de modifier
Voici le message d'erreur totale:
See the end of this message for details on invoking \"
just-in-time (JIT) debugging instead of this dialog box.\"
************** Exception Text **************\"
System.IO.FileNotFoundException: Could not load file or assembly 'connectionTo.dll' or one of its dependencies. The specified module could not be found.\"
File name: 'connectionToJobboss32.dll'\"
at TESTConnection.Form1.button1_Click(Object sender, EventArgs e)\"
at System.Windows.Forms.Control.OnClick(EventArgs e)\"
at System.Windows.Forms.Button.OnClick(EventArgs e)\"
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)\"
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)\"
at System.Windows.Forms.Control.WndProc(Message& m)\"
at System.Windows.Forms.ButtonBase.WndProc(Message& m)\"
at System.Windows.Forms.Button.WndProc(Message& m)\"
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)\"
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)\"
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)\"
\"
************** Loaded Assemblies **************\"
mscorlib\"
Assembly Version: 4.0.0.0\"
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)\"
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll\"
----------------------------------------\"
TESTConnection\"
Assembly Version: 1.0.3996.18980\"
Win32 Version: \"
CodeBase: file:///C:/Program%20Files%20(x86)/conn/TESTConnection.exe\"
----------------------------------------\"
System.Windows.Forms\"
Assembly Version: 4.0.0.0\"
Win32 Version: 4.0.30319.1 built by: RTMRel\"
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll\"
----------------------------------------\"
System.Drawing\"
Assembly Version: 4.0.0.0\"
Win32 Version: 4.0.30319.1 built by: RTMRel\"
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll\"
----------------------------------------\"
System\"
Assembly Version: 4.0.0.0\"
Win32 Version: 4.0.30319.1 built by: RTMRel\"
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll\"
----------------------------------------\"
Il n'y a pas d'erreur dans l'observateur d'événements.
Depuis que j'écris dans Managed C++ le "Any CPU" n'existe pas. J'ai vérifié le gestionnaire de configuration de toute façon et les deux, dll et app, sont définis pour Win32. Depuis que je construis cela en 32 bits, je l'ai exécuté à partir de mon dossier Program Files (x86) afin d'éviter les problèmes avec 64 bits. ... Alors j'avais regardé cela, mais je n'ai rien vu de mal. Oh, et l'une des stations sur lesquelles j'essaie de déployer est une machine 32 bits de toute façon. –
A eu un problème similaire. J'ai lu votre réponse et ne pouvais pas le changer avec l'interface VS. J'ai donc ouvert le fichier de projet dans l'éditeur de texte et le modifier manuellement à AnyCPU, et cela fonctionne.Même l'interface VS accepte la valeur comme il se doit à la première place. –