45 votes

Visual Studio 2012 Le fichier de projet "" a été renommé ou ne se trouve plus dans la solution.

J'ai récemment mis à jour mon IDE, mais pas mon compilateur, de VS2010 à VS2012 et j'ai maintenant des problèmes avec une de mes solutions. Lorsque j'essaie de la construire, j'obtiens le message suivant.

Le fichier du projet a été renommé ou ne se trouve plus dans la solution.

Et lorsque j'essaie de construire les projets individuels, j'obtiens le message suivant

Une construction est déjà en cours

J'ai essayé de supprimer et de réinsérer tous les projets, mais cela n'a rien donné. J'ai même créé une toute nouvelle solution avec tous les mêmes projets, mais lorsque j'ai essayé de construire, j'ai eu les mêmes erreurs qu'avec la solution originale.

J'ai lu que beaucoup de personnes ont des problèmes similaires à celui-ci, mais aucune de leurs solutions ne m'a aidé jusqu'à présent.

Une suggestion était de voir si certains projets avaient des références manquantes, mais je ne suis pas tout à fait sûr de la façon de procéder.

J'ai essayé de supprimer les références et de les réinsérer mais à chaque fois que j'ai essayé de les réinsérer, j'ai eu la même erreur "Le fichier du projet '' a été renommé ou n'est plus dans la solution".

Toute aide ou suggestion serait la bienvenue !

1 votes

"Une suggestion était de voir si certains projets avaient des références manquantes, mais je ne suis pas tout à fait sûr de la façon de procéder." - ouvrir le nœud des références dans chaque projet........

0 votes

Je vous suggère d'ouvrir le fichier .SLN dans votre éditeur de texte préféré et de vous y plonger. Le format est assez simple.

70voto

Arve Hansen Points 523

J'ai eu le même problème, et je l'ai résolu en m'assurant que chaque projet référencé par d'autres projets était inclus dans la solution.

Faites un clic droit sur le premier projet, choisissez Références... et assurez-vous que tous les projets répertoriés sous Références sont inclus. Passez au projet suivant et faites de même.

Cela a résolu mon problème avec "Le fichier de projet '' a été renommé ou n'est plus dans la solution". Je ne suis pas sûr du problème avec "Une construction est déjà en cours".

3 votes

Cela résout le problème, mais je déteste vraiment ce problème... Le message n'est pas clair, et personnellement je préférerais avoir une solution personnalisée incluant seulement plusieurs projets avec lesquels j'ai besoin de travailler, c'est propre et rapide à construire...

3 votes

Y a-t-il un moyen d'automatiser cela ? J'ai plus de 100 projets dans ma solution.

7 votes

OK, j'ai trouvé le chemin. Construisez-le en ligne de commande avec msbuild, et les messages d'erreur contiendront les projets manquants.

9voto

Dan K Points 341

Je peux confirmer le scénario de the_mantrill. (Je le poste en tant que réponse, car cela ne tiendrait pas dans un commentaire).

Dans ma solution, le projet A fait référence au projet B. Pour une raison quelconque, le GUID du projet B a changé. (Je sais que cela peut arriver, je n'ai pas cherché la cause dans notre cas.) Le fichier de solution avait le nouveau GUID correct pour le Projet B, mais dans le fichier de projet du Projet A, la référence au Projet B avait toujours l'ancien GUID.

En déchargeant et en rechargeant les projets dans l'explorateur de solutions, j'ai découvert que le projet A provoquait des " Le fichier de projet '' a été renommé ou ne se trouve plus dans la solution. " Une fois trouvé, la mise à jour manuelle du GUID du projet B dans le fichier de projet du projet A a réglé le problème.

Détails :

ProjetB.vcxproj

<PropertyGroup Label="Globals">
    <Keyword>Win32Proj</Keyword>
    <ProjectGuid>{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}</ProjectGuid>
</PropertyGroup>

À un certain moment dans le passé, le ProjectGuid de ProjectB a utilisé pour être {d6f1934a-905f-77ca-49c0-164b2171a0f6} . C'est maintenant {9CF2493A-0C79-88E7-12ED-7DFAEBA8535B} .

ProjetA.vcxproj - avant, cause " Le fichier de projet '' a été renommé ou ne se trouve plus dans la solution. "

<ItemGroup>
    <ProjectReference Include="..\ProjectB\ProjectB.vcxproj">
        <Project>{d6f1934a-905f-77ca-49c0-164b2171a0f6}</Project>
    </ProjectReference>
    :
</ItemGroup>

ProjetA.vcxproj - après une édition manuelle, fonctionne maintenant :

<ItemGroup>
    <ProjectReference Include="..\ProjectB\ProjectB.vcxproj">
        <Project>{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}</Project>
    </ProjectReference>
    :
</ItemGroup>

1 votes

Ceci. +1. La même chose pour moi. GUID foiré.

2voto

the_mandrill Points 12530

Le problème semblait se produire lorsque j'avais deux fichiers de solution pour des produits différents, mais qui avaient plusieurs projets en commun. Il s'agissait de projets VS2010 que j'ouvrais pour la première fois dans VS2012. Lors de l'ouverture du premier fichier, tous les projets ont été convertis. Le problème s'est ensuite posé lors du chargement du second, car certains des projets avaient déjà été convertis. Il semble que les références du projet aient été mises à jour dans la première solution, mais que la deuxième solution ait dû mettre à jour certains projets tout en utilisant les versions déjà mises à jour des projets communs.

En fin de compte, pour résoudre le problème, j'ai dû supprimer puis réinsérer quelques projets (et leurs références), ce qui a semblé régler le problème. Cela vaut également la peine de supprimer les dossiers de construction et les autres fichiers temporaires (tels que .suo) car l'état de certains de ces fichiers a affecté le problème des références de projet (ce à quoi je ne m'attendais vraiment pas).

0 votes

J'ai fini par résoudre ce problème en 1) renommant le VS10 projet.*proj les fichiers à être projet_2010.*proj puis 2) copier les fichiers et les renommer en tant que projet_2012.*proj puis 3) éditer manuellement les fichiers de solution VS10 et VS12 et les faire pointer vers la version appropriée des fichiers de projet, puis 4) lui permettre de mettre à jour les fichiers comme bon lui semble.

2voto

Marcos Eusebi Points 153

Ce problème est normalement causé par le convertisseur de version du projet.

L'affaire est qu'un Le projet référencé dans un projet de la solution n'est plus dans la solution (Comme je l'ai dit, la cause est un problème dans la conversion ou la suppression manuelle).

Alors vous deviez voir toutes les références des projets ( Right click on the project -> "References..." ) et vérifiez que chaque projet référencé existe dans la solution - sinon ajoutez le projet manquant à la solution ou supprimez le modificateur invalide.

Cette annonce est basée sur une annonce existante : https://stackoverflow.com/a/14722733/1107020

1voto

livan afryanto Points 11

Exactement une fois, au début je ne croyais pas que les mesures "s'assurer que toutes les références sont là" étaient réussies.

Enfin, j'essaie de vérifier tous les projets, en particulier le projet web dans la solution I, Sérieusement il y a des indisponibilités. Je supprime la référence et voilà, ça marche !

0 votes

Pour info, Stackoverflow ne comprend que l'anglais !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X