89 votes

Pourquoi ne puis-je pas référencer ma bibliothèque de classes?

J'ai une solution qui contient un site internet et une bibliothèque de classes dans Visual Studio 2008.

J'ai ensuite un autre projet de site web en dehors de la solution de référence de la bibliothèque de classe. Je clic droit sur le dossier de la Corbeille ou d'un Projet et sélectionnez Ajouter une Référence, puis sélectionnez mon Projet de Bibliothèque de classes, il ajoute les 15 ou si les Dll de la bibliothèque de classe doit les sites bin, mais aucun de la .fichiers cs reconnaissons l'aide d'instructions.

using MyLibrary.MyFolder;

Il dit qu'il ne peut pas le résoudre, et ReSharper juste dit qu'il peut être retiré en toute sécurité car il n'est pas utilisé.

ReSharper peut reconnaître qu'il a besoin de la référence et suggère qu'il "Référence MyLibrary et l'utilisation Mondossier". Je ne suis pas sûr pourquoi elle suggère-je ajouter une référence j'ai déjà. Quand je vais à la suggestion, j'obtiens l'erreur

"Impossible de référence du module. Sans doute, la référence va produire des dépendances circulaires entre les projets."

J'ai essayé d'aller vers les sites web de propriété des pages et la suppression de toutes les références et de le rajouter, mais il donne les mêmes erreurs. Des idées pourquoi cela ne fonctionne pas?

166voto

CindyH Points 555

Vérifiez également que les projets de la nouvelle solution fonctionnent avec un framework compatible avec le projet que vous essayez d'inclure. J'essayais d'inclure une référence à un projet 4.0 dans un projet 3.5.

94voto

Brandon Points 35624

J'ai trouvé comment résoudre ce problème (du moins pour moi). Pourquoi cela a fonctionné, je ne suis pas sûr, mais il l'a fait. (J'ai juste essayé contre un deuxième site web qui a été d'avoir le même problème et la solution suivante travaillé aussi, d'ailleurs).

J'ai essayé le nettoyage normal de projets et la reconstruction de, la fermeture de toutes mes instances de Visual Studio et de les redémarrer, même essayé de redémarrer mon ordinateur. Ce qui s'est réellement travaillé a l'ouverture du projet dans Visual Studio, la fermeture de tous les onglets ouverts, puis de l'arrêter.

Avant j'avais laissé les onglets ouverts parce que je ne pense pas que c'était important (et je n'ai pratiquement jamais fermer les onglets que j'utilise).

8voto

Rocky Points 21

J'ai eu un problème similaire, toutes mes références ont-elles été gâchées par Resharper - La solution qui a fonctionné pour moi est d'effacer le cache de resharper puis de redémarrer VS

outils-> options-> resharper-> options-> général-> cliquez sur le bouton d'effacement des caches et redémarrez VS

4voto

Fedor Steeman Points 783

J'ai eu des problèmes similaires où VS serait construisent parfois et parfois pas. Après quelques recherches et tentatives, j'ai découvert que j'avais une référence ambiguë à une classe avec le même nom dans différentes bibliothèques ('FileManager'). Le projet qui ne serait pas construire ont été mes Tests d'Unité qui référence tous les modules dans ma solution. L'application de la référence à un module spécifique triés choses pour moi.

Mon point est: Plutôt que de blâmer ReSharper ou VS, il peut être une bonne idée de vérifier si il n'y a vraiment pas une sorte de référence circulaire en quelque sorte. Le plus souvent, les classes avec les mêmes noms dans les différents modules pourrait causer de la confusion et est souvent un symptôme d'une mauvaise conception (comme dans mon cas).

3voto

KP. Points 8241

Cela ressemble à un problème similaire avec ReSharper:

http://www.jetbrains.net/devnet/thread/275827

Selon un utilisateur du thread, le fait de forcer une génération corrige le problème (CTRL + Maj + B) après la première génération.

Cela ressemble à un problème avec ReSharper, en particulier dans leur cas. Avez-vous essayé de construire indépendamment des avertissements et des fausses erreurs possibles?

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