web-dev-qa-db-fra.com

Comment résoudre ... Notification de contrôle source Visual Studio "Des projets ont récemment été ajoutés à cette solution"

Après l'utilisation de Visual Studio 2008 lors de l'ouverture d'une solution archivée dans Visual Studio, une boîte de dialogue contenant une boîte de dialogue apparaît:

Des projets ont récemment été ajoutés à cette solution. Voulez-vous les obtenir du contrôle de source?

Cela se produit chaque fois que la solution est chargée (même si aucun projet n'a été ajouté). Le seul moyen que j'ai trouvé pour supprimer cet inconvénient mineur est de reconstruire complètement le fichier SLN.

Quelqu'un at-il trouvé un moyen meilleur/plus simple?

51
Eric Schoonover

Hé, cela m'est effectivement arrivé il y a environ 4 ans.

Tout d'abord, il me semble qu'un membre de votre équipe ne dispose pas de toutes les mises à jour appliquées à son installation Visual Studio. Faites le tour et mettez tout le monde à niveau avec le dernier service pack de votre version de VS.

Une fois que cela est fait, dissociez la solution, corrigez le fichier, renouez-le et dites à tout le monde de faire en sorte que votre projet TFS soit à jour.

Voir http://social.msdn.Microsoft.com/Forums/en-US/tfsversioncontrol/thread/c2822ef1-d5a9-4039-9d3e-498892ce70b6

http://www.nivisec.com/2008/09/vsts-projects-have-recently-been-added.html

(lien brisé: http://technorati.com/posts/Yadz3Mj1pxHPSJLlnUs1tL1sIwU5jXa5rNbbIAnYdvs%3D )

32
NotMe

Je l'ai eu récemment après que nous ayons déplacé un certain nombre de projets dans la solution. J'ai finalement trouvé que chaque projet réel apparaît dans le fichier solution multiple fois chaque avec les informations de chemin d'accès ! Ainsi, même si le chemin dans la référence principale du projet était correct, il était faux plus tard dans le fichier.

Allez donc dans le fichier .sln et assurez-vous que les chemins dans all les références de chaque projet sont corrects.

Par exemple, la première référence pour l'un de mes projets est:

Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ObexPushVB", "Samples\ObjectPush\ObexPushVB\ObexPushVB.vbproj", "{E3692A59-D636-48E8-9B57-7DA80A88E517}"
EndProject

Dans mon cas, le chemin d'accès a été mis à jour correctement. Mais alors nous avons aussi pour ce projet:

SccProjectUniqueName8 = Samples\\ObjectPush\\ObexPushVB\\ObexPushVB.vbproj
SccProjectTopLevelParentUniqueName8 = InTheHand.Net.Personal.sln
SccProjectName8 = Samples/ObjectPush/ObexPushVB
SccLocalPath8 = Samples\\ObjectPush\\ObexPushVB

Donc, tous ces chemins devaient être mis à jour aussi! Après avoir corrigé cela manuellement, tout allait bien. (L'échantillon est après le correctif BTW).

38
alanjmcf

Ce message se produira également si votre solution contient une référence à un projet dont l'emplacement est en dehors du répertoire de la solution, mais qu'il n'existe pas physiquement (c'est-à-dire que vous ne l'aviez pas extrait avant d'ouvrir la solution). VSS (ou TFS) vous communiquera ce message. En cliquant sur OK, vous obtiendrez automatiquement le dernier projet manquant afin que votre solution ne contienne aucun projet non chargé.

MODIFIER:

Cette lecture me confond encore. En règle générale, vous recevez le message si votre solution a une liaison de contrôle de source avec un projet qui ne se trouve pas dans le dossier dans lequel se trouve votre solution et que ce projet externe n'existe pas physiquement sur votre ordinateur. Cliquez sur OK pour vérifier le projet pour vous.

3
Cᴏʀʏ

Dans mon cas, il s'agissait d'une référence à un projet de test qui a été supprimé. 

J'ai remarqué cela lorsque j'ai inspecté tous les projets dans l'Explorateur de solutions. Notre équipe utilise des dossiers de solution, de sorte que le contenu de celui-ci n'était pas visible et que, s'agissant d'un projet test, cela n'a eu aucune incidence sur l'application. 

Une fois le projet supprimé de la solution, les messages ne sont plus affichés.

1
tymtam

Je travaille avec Visual Studio 2013.

Pour moi, c'est arrivé après avoir modifié la structure du dossier de ma solution (j'ai ajouté un sous-dossier pour un projet directement sur l'explorateur de code source). Je me suis débarrassé de cette erreur ennuyeuse en supprimant tous les projets de ma solution à l'aide de l'explorateur de solutions. Après cela, j'ai fermé Visual Studio, modifié manuellement le fichier .sln et supprimé toute la section:

GlobalSection(TeamFoundationVersionControl) = preSolution

Pour finir, je viens d'ajouter les projets à la solution en tant que "Projets existants" avec l'explorateur de solutions. Visual Studio recrée par lui-même la section supprimée du fichier .sln. 

1
DaveLeGO

Le même message d'erreur peut survenir si quelqu'un ajoute un projet, archive le fichier de solution modifié, mais n'ajoute pas le répertoire du projet au contrôle de source.

En bref, cette histoire peut signifier que dans le fichier .sln, il est fait référence au fichier .csproj, mais que le fichier .csproj lui-même est physiquement manquant.

0
Landeeyo

J'ai eu ce problème après avoir déplacé un certain nombre de projets de test unitaire qui étaient sous contrôle de source (VSTS) dans un autre dossier. Après cela, chaque fois que j’ouvrais une succursale, j’obtenais le message "Des projets ont récemment été ajoutés à cette solution. Souhaitez-vous les obtenir à partir du contrôle de source?" Erreur.

Pour une raison quelconque, le fichier csproj du coffre n'était pas sous contrôle de code source, ce qui signifiait qu'il était absent de la version avec branche. Je constate que cela se produit parfois après le déplacement de projets contrôlés par une source.

Pour résoudre ce problème, j'ai ouvert le coffre d'origine, utilisé l'Explorateur de contrôles source pour ajouter le (s) fichier (s) manquant (s), puis fusionné avec les branches pour copier le fichier csproj manquant.

Après cela, je pouvais ouvrir les versions avec branches sans que l'avertissement ne soit affiché.

0
Richard Moore

Dans mon cas, j’ai renommé le projet a(n) (non chargé) dans VS. Il a correctement déplacé le projet dans un nouveau dossier et aucune donnée n'a été perdue. Cependant, le fichier de solution indiquait toujours l'ancien répertoire qui existait toujours mais était vide (le projet ne pouvait donc pas être chargé).

Après avoir supprimé le projet de la solution (ce qui ne posait pas de problème car le dossier était déjà vide), le problème était résolu.

L'ajout du projet à partir du nouvel emplacement n'a posé aucun problème non plus.

0
Jos R.