2009-01-26 8 views
3

Pour deux de mes projets VS 2005 C++, VS souhaite écrire dans le fichier .sln lorsque je crée les projets. J'ai un certain nombre d'autres projets VS 2005 C++ où ce n'est pas le cas. C'est un problème dû au fait que le contrôle source de ClearCase est intégré à nos installations VS 2005 et lorsque nous essayons d'exécuter une génération de nuit via des fichiers de commandes, la construction s'arrête pendant qu'une boîte de dialogue d'extraction ClearCase est affichée.Pourquoi l'un des GUID de mon projet change-t-il lorsque je compile le projet dans VS 2005?

En regardant ce que VS est en train de changer dans les fichiers .sln, c'est le deuxième GUID sur la ligne du projet.

Avant la construction:

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InterCommClientB", "InterCommClientB.vcproj", "{A2AF232A-7F27-4340-81D5-8ABFD10994D2}" 

Après la construction:

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InterCommClientB", "InterCommClientB.vcproj", "{67BE85B7-3234-484E-88FB-4F0E42096583}" 

Toute aide reçue avec reconnaissance. Je suis nouveau à VS 2005, comme nous venons de migrer depuis VC++ 6.0, donc excuses si j'ai manqué quelque chose d'évident.

Nous exécutons VS 2005 Professional Edition, avec SP1 installé.

Cordialement,

Greg.

Répondre

1

Je devine ici, mais il semble que certaines modifications ont été apportées au projet InterCommClientB (projet, pas les fichiers dans le projet). Lorsque cela se produit, sln est mis à jour, dans ce cas uniquement le GUID du projet.

Ma meilleure estimation pour résoudre ce problème consiste à créer manuellement la solution, puis à vérifier les modifications. De cette façon, le fichier SLN ne changera pas lors de la construction. Ma deuxième meilleure estimation est que vous avez déjà fait ces changements sur votre ordinateur et que cela fonctionne bien, mais vous n'avez pas obtenu la version la plus récente sur le PC où vous faites la construction de nuit.

0

Ceci est peut-être totalement absent, mais parfois, Visual Studio ne parvient pas à archiver un fichier Solution lorsqu'il a été modifié et que la solution est ouverte dans Visual Studio. Essayez de fermer Visual Studio, puis seulement en validant le fichier de solution.

Si ce n'est pas le cas, il se peut que le fichier Solution doive modifier le GUID qu'il utilise. Dans un cas, j'utilisais des outils .NET de National Instruments, et ils avaient un système de licence qui déclenchait ce type d'action (modification de fichiers superflus sans raison valable) chaque fois que j'allais faire une reconstruction.

Veuillez regarder attentivement la sortie de la construction (dans le journal, ou la fenêtre de sortie) - vous y trouverez peut-être d'autres indices!

2

J'ai rencontré un problème similaire. Il semble que lors de la conversion de projets à partir d'anciennes versions de VS (comme 6 ou 2003), VS 2010 n'ajoute pas Project GUID au fichier .vcxproj. À cause de cela quand vous ouvrez la solution comprenant un tel projet VS recréera le GUID pour un tel projet, et changera le fichier .sln mais ne changera pas le fichier .vcxproj. Donc une autre fois que vous ouvrez une telle solution, la situation sera la même et le fichier .sln peut changer à nouveau.

Voir ceci: http://connect.microsoft.com/VisualStudio/feedback/details/586258/missing-projectguid-in-vcxproj-files

+0

J'ai déjà vu cet effet. Cela peut arriver si vous avez un projet qui est utilisé dans deux solutions et si l'un d'eux n'a pas encore été mis à jour à la version actuelle de VisualStudio, vous pouvez obtenir un nouveau GUID créé. –