Projet GUID ne cesse de changer
Nous avons un VS2008 solution et j'ai remarqué quelque chose de bizarre qui se passe:
certains projets font référence à d'autres projets qui sont définies dans la même solution (ajouté que les références de projet). Cela a été fait il y a quelques temps.
De construction directement de VS fonctionne très bien.
Bâtiment de MSBUILD échoue.
J'ai supprimé la référence du projet et de ré-ajoutée il, et j'ai remarqué que le projet de GUID est changé. La construction de MSBUILD fonctionne maintenant.
Problème est, je viens d'aller sur tous les projets et en assurer.
De plus, je n'ai aucune idée de pourquoi cela s'est produite (pourquoi le projet est GUID différent de ce qu'il était avant, et ne sais pas si cela peut arriver de nouveau).
Ce qui pourrait être la cause de cela?
- Quelle erreur vous avez tout de running MSBuild?
- Il se plaint de manque types, car il ne peut pas déterminer les bibliothèques manquantes.
- Cela peut être dû à la dynamique numéro de version?
- Je ne suis pas sûr de savoir pourquoi cela pourrait se produire en raison de dynamique numéro de version. Le projet GUID n'est pas la version du projet. Je ne suis pas aussi sûr que nous avons dynamiques des numéros de version.
Vous devez vous connecter pour publier un commentaire.
Je vois aussi ce problème dans Visual Studio 2013, et il n'a pas besoin de Contrôle de la Source d'intégration à se produire.
Il m'arrive de temps en temps quand j'ai le même projet dans de multiples solutions, chaque solution utilise un autre GUID pour ce projet, et met à jour le projet en conséquence. La solution est de modifier manuellement l' .la sln des fichiers dans la synchronisation. Crédit pour cette réponse va à Chunsheng Tang.
D'abord ouvrir le fichier de solution (.sln) avec le bloc-notes et de vérifier les références de projet là. Le format est comme ceci:
La deuxième GUID pour chaque projet est la référence pour le projet partagé.
Pour résoudre le problème, sélectionnez un seul GUID pour votre projet partagé; assurez-vous que toutes les solutions qui s'ouvrent à elle ont que la seule donc le même GUID dans leurs fichiers de solution. (Faites une sauvegarde de vos fichiers avant d'effectuer ces changements)
https://social.msdn.microsoft.com/Forums/en-US/1d632940-cc1d-49d5-a64c-d3e999216cbd/cant-avoid-the-projectguid-from-being-changed-in-csproj-file?forum=csharpide
La ProjectGuid changements en raison de l'intégration avec un système de contrôle de source, comme TFS. Qui se passe si d'autres personnes d'ouvrir les fichiers par exemple.
Il y est solution de contournement décrite ici:
http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/1d632940-cc1d-49d5-a64c-d3e999216cbd
Le problème pour moi s'est avéré être un doublon GUID dans l'un des fichiers de solution. À l'intérieur de l' .la sln pour ma installer, j'ai trouvé que la Config projet GUID (utilisé dans tous les sens) et le projet de l'Installateur de GUID (spécifique à la solution) ont été identitical. L'ouverture de la solution causé VS changer le GUID pour l'un d'entre eux dans le fichier de projet, mais ne sont apparemment pas dans le fichier de solution. Comme il arrive toujours, il a choisi l'partagé une infliger le maximum de chagrin. La solution était de créer un nouveau GUID pour le projet de l'installateur, et de modifier manuellement tous les autres fichiers de solution de retour à l'GUID correct pour la Config du projet.
J'ai aucune idée de comment cela est arrivé depuis que j'ai ne jamais copier de projets pour les créer.
La solution fichier est le projet guid du fichier de projet. Avez-vous mise à niveau de la solution/projet à partir d'une version antérieure de VS? Si le guid dans le fichier de solution ne cesse de changer, il se peut que le fichier de projet ne dispose pas d'un guid à tous, donc VS fait un nouveau à chaque fois que la solution est ouvert. Je dirais que c'est un bogue dans le VS mécanisme de mise à jour, mais personne ne me l'a demandé. Résoudre le problème en ajoutant un guid dans votre fichier de projet comme ceci:
L'ouverture de la solution une fois de plus et laissez-le projet guid changer une dernière fois pour ce nouveau guid. Le guid ne changera jamais de nouveau.
Concernant la solution de contournement: le GUID peut être référencé plusieurs endroits dans le fichier de solution (.sln). N'oubliez pas de remplacer toutes les références à ce GUID, et pas seulement celui qui est mentionné dans la solution (solution de contournement est verrouillé - impossible de laisser un commentaire, j'ai donc eu à répondre à ce post à la place).
Ce qui se passe si vous avez deux projets avec le même guid dans la même solution, contre la volonté d'attribuer un nouveau guid à l'un d'eux.
Et qui peut se produire quand une nouvelle solution avec un nouveau Projet est en construction et si vous insérez des projets communs, ils peuvent avoir un guid qui est le même que le nouveau projet.
Le problème est que toutes les autres solutions qui ont également le projet partagé déjà inséré avoir à modifier le guid de nouveau et c'est gênant.
Une Solution simple au lieu de la rédaction de la solution-/projet-les fichiers à la main:
Il suffit de retirer les projets et puis insérez-la de projets communs, d'ABORD et APRÈS l'insertion du NOUVEAU projet. Si VS donne un nouveau pas reproduire guid pour le nouveau projet et n'est pas contraint de modifier le guid des projets communs.
... tant pour le sujet "Identificateur Unique" 😉