Ein kleiner, aber wenn er auftritt extrem nerviger Bug im Team Foundation Server (Online):
“TF402484 – team project has been deleted”.
Man muss den TFS nur etwas verwirren:
- Wir haben ein Team-Projekt MyTfsProject, das im Visual Studio ausgewählt und auf C:TFSMyTfsProject gemappt ist.
- Jetzt wird eine Solution angelegt, aber neben dem gemappten Pfad, also unter C:TFSMySolution, statt C:TFSMyTfsProjectMySolution.
- Und dann das ganze eingecheckt…
Peng!
TFS bzw. Visual Studio glauben nun, dass MySolution ebenfalls ein Team-Projekt ist. Man wird das auch in der Solution-Datei, trotz unbind und manuellem Bearbeiten nicht mehr los. Beim Öffnen des Source Explorers bekommt man eine Fehlermeldung "TF402484 – team project has been deleted", so dass man auch nicht wirklich weiterarbeiten kann.
Die Lösung aus dem Dilemma erfordert etwas mehr Aufwand:
- Ein TFS-Projekt mit der Bezeichnung MySolution anlegen. Damit kann man dann im Visual Studio zumindest wieder sauber arbeiten.
- Die Workspace-Mappings korrigieren, bzw. die Solution unterhalb von C:TFSMyTfsProject in verschieben.
- Danach im Visual Studio unter File/Source Control/Advanced/Change Source Control ein Unbind auf die Solution und die Projekte machen. Ggf. muss man bei den Pending Checkins noch ein Undo Checkout machen.
- Die Solution sauber im korrekten Team Projekt hinzufügen und einchecken.
Beim letzten Schritt hat Visual Studio aber nur die Solution- und Projekt-Dateien zugefügt. Bei den Sourcen behauptet Visual Studio standhaft, die gäbe es schon auf dem TFS. Deshalb:
- Im Source Explorer ein Compare auf die Sourcen machen. Bei den Dateien die auf dem Server fehlen ein Reconcile, dann macht Visual Studio ein korrektes Add. Checkin um das Ganze abzuschließen.
- Kleine Nacharbeit: Jetzt kann das überflüssige Team-Projekt MySolution wieder gelöscht werden.
Als halbwegs erfahrener Entwickler fragt man sich jetzt unweigerlich, wie das nochmal mit der Referentiellen Integrität war. Als erfahrener Entwickler weiß man: Shit happens 😉