2017-10-16 26 views
0

J'ai un comportement étrange dans mon projet .. J'en ai un qui doit recevoir o quelques formes d'un autre projet. La logique dans ces formes nécessite certaines DLL externes. Ainsi, j'ai copypasted ces formes, ai ajouté des références, mais j'obtiens une erreur "Impossible de charger le dossier ou l'assemblée ou une de ses dépendances." Donc, après un certain temps, j'ai décidé de supprimer les références dans le second projet pour voir ce qui me manque. Et après avoir ajouté ces références, j'ai aussi eu cette erreur. Comment cela pourrait-il arriver? Je pensais que j'avais raté des liens supplémentaires dans mon premier projet, donc cela n'a pas fonctionné, mais cela ne semble pas tout à fait correct.Ajout d'une référence à dll dans VS

+0

Ces DLL externes sont-elles copiées dans le répertoire de sortie? –

+0

Oui, ils ont été copiés. J'ai aussi essayé d'ajouter une référence au chemin existant. Ni travaillé. –

+0

MSBuild copie automatiquement les DLL dépendantes lorsqu'il peut voir que l'assembly les utilise. Mais si ce n'est pas possible, peut-être parce que vous utilisez Reflection ou parce qu'ils contiennent du code non géré, ce n'est pas le cas. Vous devez ensuite les aider et les copier vous-même, généralement en utilisant xcopy/d dans un événement post-build. –

Répondre

0

Si vous utilisez Visual Studio pour votre développement, vous devriez pouvoir voir toutes les références ajoutées sous les références du projet.

Assurez-vous que les dll auxquelles vous faites référence s'affichent sous les références. Assurez-vous ensuite d'importer les espaces de noms appropriés dans lesquels vous souhaitez effectuer des appels aux données ou aux objets de vos DLL.

Vous pouvez afficher les espaces de noms en double-cliquant sur la référence que vous souhaitez afficher. Il devrait vous donner la liste de toutes les méthodes et les espaces de noms dans lesquels ils se trouvent dans le navigateur d'objets.

Si tout est là, je voudrais nettoyer la solution et ensuite reconstruire la solution entière.

+0

Mon mauvais. N'a pas vu que la référence avant de supprimer était le type ActiveX et après l'ajout est le type d'assembly. Mais comment puis-je changer un type de référence? Le fichier sur lequel les points de référence sont exactement les mêmes. –

+0

Essayez de l'ajouter en tant que référence COM. Vous le faites de la même manière que vous ajoutez une référence normale, mais lorsque la fenêtre apparaît pour sélectionner votre fichier, il devrait y avoir une option pour sélectionner COM et cela devrait révéler vos bibliothèques COM. Si votre bibliothèque ne s'affiche pas sous COM, vous devrez l'enregistrer. –