J'utilise Visual Studio 2005, .NET 2.0réussie Visual Studio C# build ne crée pas l'assemblage
Je ne suis pas vraiment encore sûr dans quelles circonstances il arrive, mais voici le scénario: J'ai une solution une structure de projet comme celle-ci: un projet de bibliothèque Foo, un projet de bibliothèque Bar faisant référence à Foo, et un projet de bibliothèque Quux qui fait référence à Foo et Bar. La compilation échoue avec le message d'erreur "Impossible de trouver le fichier de métadonnées 'Foo.dll'" dans Bar, et "Impossible de trouver le fichier de métadonnées 'Foo.dll" et "Fichier de métadonnées' Bar.dll ' ne pas être trouvé "de Quux.
En cherchant dans mon répertoire cible (j'ai un répertoire cible combiné pour les 3 projets), il est vide, donc aucun projet n'est compilé. Maintenant, je peux obtenir que Bar et Quux échouent s'il n'y a pas de sortie de Foo. Le problème est: Pourquoi Foo échoue-t-elle silencieusement? Il n'y a pas d'erreur, et construire Foo au lieu de la solution entière fonctionne bien. La chose «drôle» est, après avoir simplement appuyé sur le bouton de construction à nouveau, le fichier Foo.dll apparaît, Bar ne se plaint plus, mais ne produit pas de fichier de sortie non plus, et Quux se plaint de Bar.dll manquant. En appuyant à nouveau sur le bouton, le Bar.dll apparaît, il n'y a plus d'erreurs mais pas de Quux.dll. Seulement après avoir appuyé sur le bouton encore une fois, le Quux.dll apparaît, encore une fois sans erreurs.
Les dépendances de projet sont toutes définies correctement, l'ordre de construction de la solution indique exactement la bonne chose.
J'ai même essayé de créer une nouvelle solution et de nouveaux fichiers de projet, puis d'y ajouter à nouveau les sources. Pas de joie non plus. La même chose arrive.
Je suis complètement perplexe. Est-ce que quelqu'un sait un moyen de sortir de ce gâchis?
Je vous recommande toujours d'avoir Visual Studio 2008 et le développement de la cible 2.0 en dépit de la position notoire des gens envers ma réponse. VS2005 a des bugs VS2008 non. Il est probable que la simple réinstallation permettra de résoudre ce problème. –