2010-08-04 6 views
0

Je dois mettre à jour une application Visual Studio 2005 existante. J'ai installé la plate-forme de développement incluant des composants tiers sur mon serveur de développement 2008.Erreur de génération de l'application Visual Studio 2005

Après avoir obtenu la dernière version de notre base de données héritage SourceSafe 2005, mise à jour toutes les références brisées et d'essayer de compiler cette solution, j'ai corrigé toutes les erreurs sauf celles-ci, que je ne sais pas comment trouver:

ERREUR

Description: La définition de manifeste de l'assembly localisé ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040)

fichier: LC


AVERTISSEMENT

Description: conflits trouvés entre les différentes versions du même ensemble dépendant. C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Microsoft.Common.targets

fichier: Microsoft.Common.targets


... qui me dit essentiellement bite, et la solution ne compilera pas. Ce que je suppose que je veux dire est, comment puis-je savoir quel assemblage a le problème? Un peu d'aide?
MERCI

Répondre

0

Je suppose que quelque part quelqu'un fait référence à deux assemblées différentes avec le même nom. Peut-être que quelqu'un a mis les DLLs .NET à l'intérieur de votre copie de travail et essaie de les lier au lieu d'utiliser celles de votre GAC? Plus génériquement, il semble que vous ayez un assemblage (A) qui dépend d'un autre assemblage (B). B fait référence à une copie d'un assemblage et A à une référence à un assemblage du même nom, situé dans un endroit différent.

Vous allez devoir mettre votre casque et aller creuser. Spoiler: Ce que vous trouverez probablement pas être or.

+0

Puis-je même dire s'il s'agit d'un assemblage Microsoft par rapport à un assemblage tiers? Est-ce la raison pour laquelle il est dit "Microsoft.Common.targets"? Cette solution contient à la fois des références MS et d'autres composants. Rien du tout pour continuer? Je suis à une perte complète avec ce message d'erreur ambigu. –

+0

Eh bien, Microsoft.Common.targets n'est pas un assemblage - c'est un fichier MSBuild qui est inclus dans votre fichier MSBuild. Il ne vous dit pas que MSBuild.Common.targets est un fichier de problème, il vous dit que MSBuild.Common.targets est ce qui vous dit quel est le problème. Si cela a du sens ... Mon conseil serait de tenter de construire les assemblages de composants indépendamment et essayer d'affiner le problème de référence de cette façon. Et puis, buvez du whisky pur bourbon au Kentucky. Venez y penser, l'ordre n'a pas d'importance ici. –

+0

LOL ok. Cet héritage est une quête inlassable. Quoi qu'il en soit, je prévois de retirer tous les assemblages du projet un à la fois et d'essayer une construction après chaque retrait; puis les rajoutant un par un. Dans chacun de ces processus, le coupable sera trouvé. Espérons qu'une petite place du MacAllan suffira à la place. –

Questions connexes