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 😉
Sie sehen gerade einen Platzhalterinhalt von Facebook. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Instagram. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen