18

J'ai une solution qui a un projet de bibliothèque de classes et les autres sont des applications WPF. J'ai ajouté la référence de la bibliothèque de classes, mais les deux ne peuvent pas utiliser ses classes.Problème de référence de projet, Visual Studio 2010

Alors, quel est le problème?

NOTE: désolé pour les tags, c'est le problème de safari.

+0

Avez-vous essayé d'utiliser un réflecteur pour vérifier que votre bibliothèque est correctement installée? –

+0

tout est bon: S – Kaan

+0

@ Kaan: Que voulez-vous dire par "ne peut pas utiliser ses classes"? Avez-vous eu des erreurs de compilation? –

Répondre

-1

a trouvé le problème. Une de mes références dans la bibliothèque de classes l'a causé, et je l'ai enlevé. Maintenant, je peux construire la solution sans erreurs.

Merci pour vos commentaires ..

+0

Im ayant un problème similaire, pouvez-vous élaborer plus loin sur ce que la solution et le problème était? – IbrarMumtaz

2

choses à vérifier:

  • Les classes de bibliothèque de classe sont publiques
  • Vous avez une directive using appropriée dans votre code d'appel:

    using MyCompany.ClassLibrary; 
    

Si cela ne veut pas aide, s'il vous plaît poster ce qui se passe quand vous essayez pour utiliser les classes de la bibliothèque.

+2

Tous sont publics et je suis déjà défini en utilisant la déclaration. Je me suis rendu compte que, si je supprime et ajoute une référence, c'est OK jusqu'à ce que j'appuie sur le bouton Build. Alors les erreurs reviennent. J'ai créé une autre solution et déplacé les codes par copier et coller (pas directement le fichier de copie) encore le problème continue.Je pense que j'ai un problème avec VS mais j'ai aussi essayé avec un autre ordinateur qui a la même version de VS – Kaan

+0

Avoir exactement le même problème ici. Je veux seulement ajouter que lorsque j'ajoute le projet à la référence et commence à taper dans la directive using, Visual Studio trouve même ce projet pour moi (avec son truc IntelliSense). Je nettoie ensuite, et reconstruis, et puis il ne peut pas trouver le type ou l'espace de noms. Idem que décrit Kaan. –

+0

@Ilia. Où est la bibliothèque de classe? –

79

Assurez-vous que tous vos projets ciblent le même Framework. Il se peut que votre projet de bibliothèque cible le .Net Framework 4.0 complet pendant que vos projets wpf ciblent le profil client .Net Framework 4.0.

Pour ce faire, accédez aux propriétés de projet de chaque projet dans une solution et cochez Application | Propriété Target Framework. Vous pouvez également télécharger l'extension VSCommands 2010 et voir toutes les propriétés en un seul endroit via la fenêtre Propriétés de la solution.

+0

cadres sont ce que vous avez dit. :( – Kaan

+0

Voulez-vous dire qu'ils sont tous '.NET Framework 4.0' et aucun d'entre eux est' .NET Framework 4.0 Client Profile »? –

+3

Non, la classe lib. Est .net 4 et les autres .net 4 profil de client. ! Mec – Kaan

2

J'ai eu le même problème, mais la solution était différente ...

Nous travaillons en équipe et l'un des développeurs (appelé dev1) installé le .NET 4.5 (les autres ont seulement le .NET 4.0). Après que dev1 ait fait quelques changements dans la solution, les autres ont eu le problème et n'ont pas construit. Les referrences de projet n'ont pas fonctionné (mais si elles l'ont employé comme une DLL cela a fonctionné) ... Ainsi nous avons installé le .NET 4.5 pour tout le monde et il a résolu le prolem.

Moha