3 votes

La fonction Intellisense de la bibliothèque de classes ne s'affiche pas après avoir ajouté le fichier DLL aux références.

En C#, j'ai créé une ClassLibrary qui a un espace de noms et une classe. Je l'ai enregistré et construit. dans d'autres projets, lorsque je l'utilise, je l'ajoute à mes références en naviguant vers l'emplacement du fichier .dll.

Mais le problème est que son nom n'apparaît pas dans l'Intellisense. c'est-à-dire lorsque je : using ... mon dll ne s'affiche pas .. J'importe la bibliothèque dans une application Console. à la fois l'application et la bibliothèque ciblent le Framework .NET 4.0 et j'ai fait leur version d'assemblage 4.0.0.0 donc elles sont exactement les mêmes.

y a-t-il un paramètre ou quelque chose que je manque ? comment puis-je le faire apparaître ?

Je suis en train d'utiliser VS2010 Professional

Merci pour votre aide

12voto

Guillermo A Points 136

Peut-être que cela vous sera utile, j'avais un problème similaire. J'ai un projet Web, j'ai ajouté la référence à une bibliothèque de classes en sélectionnant le projet, mais si je faisais un changement dans la bibliothèque de classes, je ne pouvais pas voir ce changement dans l'intellisense du projet Web. Après avoir essayé plusieurs choses, j'ai remarqué que dans la référence récemment ajoutée, la valeur de l'option "Copie locale" était définie sur "True", je l'ai donc changée en false et tout fonctionne!

2voto

logixologist Points 2196

J'ai eu un problème similaire mais dans mon cas c'était une propriété de la classe. Si vous allez dans les propriétés du fichier et cherchez une Action de génération. De manière inexpliquée, la mienne était définie sur Content alors qu'elle aurait dû être définie sur Compile.

J'utilise Visual Studio 2013. J'espère que cela aidera quelqu'un d'autre.

1voto

Chris Sinclair Points 14829

Est-ce que l'espace de noms de votre assembly est différent de l'espace de noms de votre projet actuellement ouvert? Il m'est arrivé des fois où le projet actuel et un assembly partagent le même chemin d'espace de noms et l'intellisense peut se tromper.

En général, Visual Studio est assez bon en ce qui concerne la génération de l'intellisense, surtout pour C#. Mais parfois, il y a des conditions intéressantes concernant les ambiguïtés, en particulier en mélangeant des types de projet où cela ne fonctionne pas tout à fait.

Le fait de placer votre contenu dans le même espace de noms me fait me demander si vous avez réellement résolu le problème (il se peut simplement que l'autocomplétion de l'espace de noms se fasse dans le projet actuellement chargé plutôt que dans l'assembly), mais si cela vous permet de continuer à travailler, alors allez-y!

0voto

Cliquez avec le bouton droit sur le projet sur lequel vous ajoutez la référence de votre dll / projet, sélectionnez le menu dépendances de projet et sélectionnez / cochez la case pour le projet / dll de référence. alors cela fonctionnera bien.

0voto

AadamZ5 Points 9

Si le projet de bibliothèque de classes a été renommé après sa création, alors Intellisense peut ne pas le trouver en raison de problèmes de répertoire, je crois.

J'ai créé ma classe avec le nom générique "ClassLibrary1" ou autre, puis j'ai changé ultérieurement l'espace de noms par défaut, le nom de la classe et le nom du projet dans VS2017. J'ai fermé VS2017 et j'ai changé le nom du répertoire pour correspondre à mon espace de noms par défaut, puis j'ai réassocié le fichier projet dans VS2017, et ensuite j'ai réajouté la référence dans mon fichier de projet principal.

Tout semble maintenant être réparé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X