Dieser Blogbeitrag untersucht die besten Strategien zur Organisation gemeinsam genutzter .NET-Assemblies in SVN für reibungslose Versionskontrolle und Entwicklungsprozesse. Entdecken Sie, wie Sie SVN-Reibungsverluste während der Entwicklung reduzieren und die Wartung vereinfachen können!
---
Dieses Video basiert auf der Frage https://stackoverflow.com/q/107292/ gestellt von dem Nutzer 'JKueck' ( https://stackoverflow.com/u/6354/ ) sowie auf der Antwort https://stackoverflow.com/a/107525/ bereitgestellt von dem Nutzer 'Craig Trader' ( https://stackoverflow.com/u/12895/ ) auf der Website 'Stack Overflow'. Vielen Dank an diese großartigen Nutzer und die Stackexchange-Community für ihre Beiträge.
Besuchen Sie diese Links, um den Originalinhalt und weitere Details zu sehen, z. B. alternative Lösungen, aktuelle Entwicklungen zum Thema, Kommentare, Versionsverlauf usw. Der ursprüngliche Titel der Frage lautete beispielsweise: What is the optimal way to organize shared .net assemblies in SVN?
Außerdem steht der Inhalt (außer Musik) unter der Lizenz CC BY-SA https://meta.stackexchange.com/help/l...
Der ursprüngliche Fragenbeitrag steht unter der Lizenz 'CC BY-SA 2.5' ( https://creativecommons.org/licenses/... ), und der ursprüngliche Antwortbeitrag steht unter der Lizenz 'CC BY-SA 2.5' ( https://creativecommons.org/licenses/... ).
Falls Ihnen irgendetwas auffällt oder Unstimmigkeiten bestehen, schreiben Sie mir bitte an vlogize [AT] gmail [DOT] com.
---
Die optimale Methode zur Organisation gemeinsam genutzter .NET-Assemblies in SVN
In der modernen Softwareentwicklung sind gemeinsam genutzte Codebasen häufig, besonders bei der Arbeit mit Frameworks wie .NET. Während der Entwicklung eines neuen Service-orientierten Architekturprojekts (SOA), das stark auf gemeinsame .NET-Assemblies angewiesen ist, stellt sich oft die Frage, wie diese Assemblies effizient mit Subversion (SVN) organisiert werden können. Ein strukturierter Ansatz ist notwendig, um eine effiziente Entwicklung und Wartung zu ermöglichen und gleichzeitig Versionskontrollprobleme zu minimieren.
In diesem Blogbeitrag besprechen wir eine effektive Organisationsstrategie für gemeinsam genutzte .NET-Assemblies in SVN, die eine nahtlose Entwicklung und vereinfachte Wartung ermöglicht.
Problemstellung verstehen
Die Hauptprobleme bei der Organisation gemeinsamer .NET-Assemblies in SVN sind:
Reduzierung von SVN-Reibungsverlusten: Während der Entwicklungsphase müssen Teams an den Assemblies arbeiten können, ohne dass technische oder psychologische Barrieren durch das Versionskontrollsystem entstehen.
Einfache Wartung: Wenn das Projekt in den Wartungsmodus wechselt, ist es wichtig, die Assemblies einzeln verwalten zu können, ohne dabei Versionsverwaltung und Deployment-Prozesse zu verkomplizieren.
Integration mit Visual Studio 2008: Die Lösung muss mit gängigen Entwicklertools, insbesondere der Visual Studio IDE, kompatibel sein, um einen reibungslosen Workflow für Entwickler zu gewährleisten.
Vorgeschlagene Lösung
Basierend auf unserer Erfahrung empfehlen wir folgende Organisationsstruktur für Ihre SVN-Repositories:
Repository-Struktur
Tools Repository
Dieses Repository beinhaltet verschiedene Werkzeuge und Assemblies, auf die Ihr Projekt angewiesen ist. Die Struktur könnte wie folgt aussehen:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Jedes Mal, wenn eine neue Tool-Version von einem Anbieter vorliegt, wird diese entsprechend mit dem Lieferanten und der Versionsnummer hinzugefügt. Der "latest"-Verweis wird danach aktualisiert, damit für die Entwicklung stets die aktuelle Version referenziert wird.
Hinweis: Dieses Repository ist auf bestimmte Versionen der "installierten" Tools ausgerichtet und nicht auf typische Quellcode-Repositories. Falls Anpassungen an den Tools des Anbieters erforderlich sind, sollten diese in einem separaten Repository verwaltet werden.
Projects Repository
Das Projekt-Repository sollte einer Standard-SVN-Struktur mit separaten trunks, tags und branches folgen:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Verwendung von svn:externals
Für jedes Projekt sollte das "tools"-Verzeichnis mit einer svn:externals-Eigenschaft versehen werden. Diese Eigenschaft verlinkt automatisch die korrekte Version jedes benötigten Werkzeugs oder Assemblies, was Updates und Integration erleichtert:
Sie können entweder eine spezifische Version oder "latest" referenzieren.
Während des Build-Prozesses (z.B. mit CruiseControl.NET) werden die Werkzeuge automatisch in die Projektstruktur gezogen, was den Arbeitsaufwand der Entwickler reduziert.
Automatisierung des Builds
Beim Bauen von Projekten sollten Aufgaben so weit wie möglich automatisiert werden. Nach einem erfolgreichen Build können Sie z.B. folgende Befehle nutzen, um Ihre Tools in SVN komfortabel zu verwalten:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Diese Automatisierung ermöglicht es Entwicklern, sich au
Информация по комментариям в разработке