2010-08-30 9 views
1

Il s'agit d'une application console que je développe en utilisant VS2010 en C#. J'ai eu un dll d'un de mes collègues que j'ai besoin d'utiliser. J'ai ajouté la DLL comme référence, ajouté l'espace de nom requis. Code ajouté pour créer une instance de l'objet et utilisé une méthode de la classe. Lorsque j'ai terminé le code, il n'y a pas d'erreurs signalées par VS. Quand j'ai compilé, j'ai eu une erreur indiquant que 'Le nom de type ou d'espace de nom mon nom n'a pas pu être trouvé'.Assemblage manquant lors de la construction de mon application C#

Après avoir reçu l'erreur, j'ai supprimé la DLL. J'ai enlevé l'espace de nom. Maintenant, mon code est souligné en rouge là où je fais référence à la classe pour la première fois. Je survole dessus et en utilisant intellisense j'ai ajouté l'espace de noms. J'ai utilisé l'explorateur d'objet pour m'assurer qu'il est là. Maintenant, je reconstruis la solution et j'ai la même erreur. Je suis allé à l'explorateur d'objet et la référence dll est parti. Mais quand je regarde la référence, je vois la DLL toujours là. Je double-clique pour le prendre à l'explorateur d'objet et la définition de l'objet n'est pas là. C'est vraiment bizarre. Cela n'arrive qu'à cette DLL que j'ai.

Qu'est-ce que je fais mal ici?

*** J'ai trouvé le problème. Il semble que la DLL mon ami a été construite sur framework 3.5 avec quelques dépendances. J'ai changé le travail de cadre à 3.5 et maintenant il construit correctement. Merci,

+1

À quel environnement d'exécution ciblez-vous et pour quel type de DLL? –

+0

Vous voudrez peut-être aussi ouvrir votre projet dans le bloc-notes et copier/coller ici la référence réelle pour cet assemblage (n'oubliez pas de changer les noms et le dossier de l'assembly pour protéger l'innocent :-)). –

+0

Merci pour les commentaires. Pour une raison quelconque, changer la version en 3.5 a résolu mon problème. – Nair

Répondre

1

Chaque fois que j'obtiens ce problème, c'est presque toujours parce que je cible le mauvais cadre.

1

Lorsque vous ajoutez la référence, vous pouvez vous assurer que CopyLocal est défini sur True dans les propriétés.

Questions connexes