Howto: Versionskontrolle in deiner frisch erstellen VM einrichten
Wenn du meine Schritte zur Erstellung deiner eigenen, CONTOSO-artigen virtuellen Maschine (Teil 1 / Teil 2) vollzogen hast und damit Entwicklungstätigkeiten nachgehen möchtest, dann willst du wahrscheinlich als nächstes die Versionskontrolle einrichten. Im Folgenden kannst du nachlesen, wie das geht – trotz der Schwierigkeiten, die dabei auftreten können.
Visual Studio Team Services
Bislang unter Visual Studio Online bekannt ist Visual Studio Team Services als Online-Pendant zu Team Foundation Server die modernste Lösung momentan und bringt jede Menge Vorteile mit sich. Für meine Zwecke eignet es sich z. B. viel besser als die Offline-Variante, allein, weil ich nichts extra installieren und warten muss. Das Mindeste, was tun muss, ist visualstudio.com zu öffnen, dort eine Anmeldung durchzuführen (ich habe axility.visualstudio.com registriert) und ein Projekt anzulegen (habe ich axility basics genannt).
Ordner für Repository
Lege zunächst einen Repository-Ordner und einen untergeordneten Ordner an. Ich habe dazu C:\AxRepository\AX\ erstellt.
Einstellungen in AX und Fehlerbehebung
Um die Versionskontrolle in AX 2012 einzurichten öffnet man einen neuen Entwicklungsarbeitsbereich (development workspace) und ruft Versionskontrolle / Versionskontrollparameter auf (alternativ über Tastenkombination Ctrl + Shift + V). Auf dem Reiter Allgemeines ändert man Versionskontrollsystem auf Team Foundation Server und den Wert von Repositoryordner auf C:\AxRepository (wenn man den Ordner vorher so benannt hat). Auf dem zweiten Reiter gibt man die folgenden Werte ein:
- Team Foundation Server-URL: https://axility.visualstudio.com/DefaultCollection
- Team Foundation-Projektname: axility basics
- Verzweigungsordner: Dev
- Anwendungsstammordner: AX
Abgesehen vom Verzweigungsordner muss man die vorher vergebenen Werte entsprechend verwenden. Leider ist die Übersetzung dessen ein bisschen missraten, im Englischen ist der Verzweigungsordner einfach der Branch folder. Ich zumindest benutze im Deutschen auch den Begriff des Branch. Der Wert ist frei wählbar, sollte aber den Zweck des Branch reflektieren, also ob es sich um einen Entwicklungs- oder Wartungs- / … -branch handelt.
Jetzt geht man wieder auf den ersten Reiter und aktiviert die Versionskontrolle. Wenn man meinen bisherigen Ausführungen gefolgt ist, trifft man zwangsläufig auf folgende Fehlermeldung:
C:\AxRepository\AX
Team Foundation Server-Fehler
Could not load file or assembly 'Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
Es sieht ganz so aus, als würde AX nach wie vor mit einer älteren Version von Team Foundation Server kompiliert (nämlich 2010). Um das Problem zu beheben, muss man zunächst den Team Foundation Server 2010 SP1 Object Model Installer installieren, den man hier herunterladen kann. Anschließend muss AX neu gestartet werden, um zu sehen, ob das schon reicht. Trommelwirbel…
Es funktioniert immer noch nicht – aber wir sehen einen anderen Fehler.
C:\AxRepository\AX
Team Foundation Server-Fehler
Team Foundation services are not available from server https://axility.visualstudio.com/defaultcollection.
Technical information (for administrator):
TF400813: Resource not available for anonymous access. Client authentication required.
Diesmal brauchen wir einfach noch eine weitere Komponente, nämlich das Visual Studio 2010 SP1 Team Foundation Server Compatibility GDR, das man hier bekommt.
Nach einem erneuten Neustart von AX kann man jetzt erleichtert feststellen, dass es funktioniert – man bekommt die Meldung, dass es einen Pending add für eine Datei namens VCSDef.xml gibt. Das ist die beschreibende Datei für die weiteren Einstellungen der Versionskontrolle. Die entsprechenden Schalter und Felder findet man unter Versionskontrolle / Systemeinstellungen. Das Coole daran, die Datei versioniert zu haben, ist, dass man dadurch das Verhalten der System aller steuern kann, die mit diesem Branch des VSTS verbunden sind (und eben die Definition abrufen). Also einchecken! Es ist darüber hinaus durchaus üblich, den schreibenden Zugriff auf die Datei einzuschränken (damit sich keiner auf dem Weg des Auscheckens/Verwerfens temporär Check-In-Regeln widersetzen kann).
*This post is locked for comments