113 votes

Le projet référencé est "perdu" au moment de la compilation.

J'ai une solution C# avec deux projets : un service (le projet principal) et un logger. Le service utilise les classes du logger. J'ai ajouté une référence au projet du logger dans le projet du service. Au moment de la conception, l'autocomplétion fonctionne bien : les classes du logger sont visibles, les références que j'utilise sont colorées de manière appropriée.

Je reconstruis la solution, et les choses vont mal. Les références ne sont plus reconnues : "Le nom 'Logging' n'existe pas dans le contexte actuel" et les classes n'existent plus dans l'autocomplétion. En supprimant et en rattachant la référence, je reviens à l'état de base où les identifiants sont visibles dans l'autocomplétion.

J'ai redémarré, effacé tous les caches, vérifié que c'est la seule instance de VS 2010 qui fonctionne sur ma machine.

Y a-t-il quelque chose d'évident (évidemment) qui m'échappe ?

165voto

joshcomley Points 9308

Vérifiez les types de construction de chaque projet dans les propriétés du projet - je parie que l'un ou l'autre sera configuré pour construire contre .NET XX - Client Profile .

Avec des versions incohérentes, notamment l'une étant Client Profile et l'autre non, alors cela fonctionne au moment de la conception mais échoue au moment de la compilation. Un vrai piège.

Il y a quelque chose d'étrange qui se passe dans Visual Studio 2010 pour moi, qui continue à définir les projets de façon aléatoire à Client Profile parfois lorsque je crée un projet, et parfois quelques jours plus tard. Il s'agit probablement d'un raccourci clavier sur lequel j'appuie accidentellement...

1 votes

Je parie que vous avez raison... et honte à moi si c'est le cas pour ne pas me souvenir de cette question comparable à celle que j'ai posée le mois dernier ! stackoverflow.com/questions/3991361/

6 votes

@Bob Ça continue de m'arriver, et comme pour la question précédente, à chaque fois que ça arrive, pendant au moins quelques minutes, je suis complètement désorienté jusqu'à ce que je me souvienne de "Oooooh, attends, Client **** Profil".

4 votes

J'ai également rencontré ce problème avec VS2012. Il s'est avéré que ce n'était pas le problème du profil client, mais que le projet référencé était en 4.5 et que le nouveau projet référencé était en 4.0 par défaut. J'ai fait passer celui-ci en 4.5 et le problème a disparu. Même solution en fait, juste une autre variation.

7voto

Manar Gul Points 81

Assurez-vous que les deux projets ont la même version du framework cible ici : clic droit sur le projet -> propriétés -> application (onglet) -> framework cible

Assurez-vous également que le projet "logger" (que vous voulez inclure dans le projet principal) possède le type de sortie "Class Library" : clic droit sur le projet -> propriétés -> application (onglet) -> type de sortie

Enfin, Reconstruire la solution.

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