2013-10-15 4 views
0

J'ai une application dans VB.Net et une DLL non managée. Lorsque j'exécute une application sur mon PC, cela fonctionne très bien. Mais quand j'essaie de l'exécuter en production, il donne l'erreur 'impossible de charger la DLL'.Impossible de charger C++ dll, même VB.Net exe et .dll dans le même dossier

Sur mon PC, j'ai gardé .exe et .dll en créant un dossier différent de celui de mon dossier de version actuel et cela fonctionne très bien.

Mon ordinateur est une machine 64 bits et l'environnement de production est de 32 bits.

J'ai essayé toutes les combinaisons comme, 'Any Cpu', 'x86', 'Win32', notant semble fonctionner sur la machine de production. Exe et DLL sont dans le même dossier, donc pas besoin de (je pense) s'inquiéter de chemin, ce n'est pas COM dll, donc pas besoin de s'enregistrer (et il est natif C++ dll).

Je suis passé par beaucoup de questions, j'ai utilisé le dépendant de la dépendance, toujours confronté au problème.

Nous utilisons Visual Studio 2012.

Merci.

+0

La DLL possède-t-elle des dépendances sur d'autres DLL que vous ne placez pas sur votre machine de test et qui se trouvent peut-être dans le GAC de votre machine? – Steve

+0

@Steve Il a une dépendance sur les autres DLL, mais cela provoquera-t-il un échec de chargement dll? –

+0

Je ne sais pas si cela dépend de ce que la DLL fait et où elle le fait (plus que probable si elle fait référence à la DLL dans init quelque part ou à certains membres partagés/staic) mais parfois non. – Steve

Répondre

0

Enfin, j'ai résolu le problème moi-même. C'était VC++ 12 runtime non installé sur la machine de production.

Questions connexes