FileNotFoundException essayant de charger une DLL de code managé
-
25-09-2019 - |
Question
Pour commencer, je voudrais dire que je suis plutôt familier avec le système de liaison de Windows. (La plupart de mon expérience de programmation a été acquise sous Mac OS, sur lequel reliant les bibliothèques et le cadre est radicalement différent. Je suis aussi pas beaucoup d'un utilisateur Windows.)
Voici ma configuration: J'ai deux projets dans la même solution. Le premier est un projet C ++ / CLI nous appellerons Foo
. Foo
est un projet de bibliothèque qui dépend d'une bibliothèque externe (Java Runtime Environment), et a donc la référence appropriée à la appropriée (je crois, car il compile) .lib fichier. (Je l'ai changé aucun autre paramètre de projet lié au chargement de cette bibliothèque.) Mon autre projet, Bar
est un projet exécutable console C # qui fait référence à Foo
.
Les deux compilez très bien.
Cependant, quand j'exécute mon programme Bar.exe
C #, il meurt avant la construction du premier objet qui exige de types Foo
. L'exception est un FileNotFoundException
qui indique l'ensemble de Foo.dll
ou une de ses dépendances ne pouvait être trouvé.
Je lançais fuslogvw
pour voir ce qui se passait mal, mais je ne comprends pas vraiment comment cela fonctionne, et la documentation que j'ai trouvé sur c'est plutôt inutile. D'après ce que je crois comprendre, à la fois Foo
et Bar
Échec du chargement des images natives, mais ont été jugées correctes IL et ont été correctement chargées de cette façon. Il n'y a pas d'autre mention pertinente de l'échec, bien que, de toute évidence, il Finalité échouent à un moment donné. Je posterai les journaux, mais ils sont en français et je pense que ce serait assez inutile.
Toute idée?