Ho passato un paio d'ore su questo errore ieri e fortunatamente sono arrivato fino in fondo.
Abbiamo un file di progetto, chiamiamolo semplicemente ProblemProj.vcxproj che era originariamente incluso in SolutionA.sln e compilato correttamente. Il progetto è stato quindi aggiunto a una soluzione diversa, SolutionB.sln, e compilato correttamente in quella soluzione. Tuttavia, dopo il ritorno a SolutionA, il "file di progetto" è stato rinominato "si è verificato un errore.
Ciò è accaduto perché VS2010 ha deciso di modificare ProjectGUID di ProblemProj.vcxproj. Il SolutionB.sln ha fatto riferimento al GUID corretto, ma SolutionA.sln aveva ancora un riferimento al vecchio GUID.
Lo si può trovare nel file .sln cercando qualcosa di simile:
< ProjectGuid> {271F161A-F26F-41D1-BDC8-FCF912A2F4FB} </ProjectGuid>
Il problema può essere risolto in i seguenti modi:
1) Modificare manualmente il GUID in SolutionA.sln aprendolo in un editor di testo e cercando il markup sopra.
2) Rimuovere il progetto da SolutionA.sln e aggiungerlo di nuovo; questo gli ha fatto prendere il GUID corretto e fortunatamente non ha deciso di cambiarlo di nuovo.
3) Ripristinare la modifica GUID in ProblemProj.vcxproj (che quindi causerà l'errore stesso esatto in SolutionB, quindi non lo consiglierei a meno che SolutionB non importi più).
Spero che questo aiuti.
fonte
2012-04-10 18:34:12
Stai cercando di creare un nuovo progetto o uno esistente? Puoi dare maggiori dettagli .. – Malcolm
Soluzione esistente, hai appena rimosso un paio di progetti che non esistono più e VS è diventato un po 'pazzo! –
Microsoft non può fare di meglio? Tipo, che ne dici di dare qualche indicazione su quale progetto è rotto? Ho perso innumerevoli ore a causa di bug di Visual Studio (e C++) o cattivo comportamento. –