So richten Sie Quellcodeverwaltung mit mehreren Produkten alle abhängig von einer einzelnen Klassenbibliothek

StackOverflow https://stackoverflow.com/questions/1406653

Frage

Ich bin der CTO und einziger Entwickler für meine Firma. Ich bin immer bereit, unseren ersten Entwickler mieten und möglicherweise eine zweiter in den nächsten 6 bis 12 Monate. Ich bin peinlich zu sagen, dass ich nie Quellcodeverwaltung als Teil meines Workflows verwendet habe. Ich denke, ist ein 1-köpfigen Entwicklungsteam hat mir erlaubt, ein bisschen faul zu sein. Es ist nicht, dass ich nicht haben wollte, ich habe nur ein bisschen eine mentale Blockade darüber, wie mit ihm zu beginnen.

Wir haben 5 Web-Anwendungen, die ich aufbauen und pflegen. Wir verwenden ASP.NET, und jede Web-Anwendung verweist auf eine einzelne .NET-Klassenbibliothek (DLL), die für jede Anwendung in den Ordner „ist“ kopiert wurde. Ich habe mit einer einzigen Visual Studio „Lösung“ zu entwickeln, die die Klassenbibliothek und alle Web-Anwendungen enthält. Ein bisschen aufgebläht, ich bin sicher, aber diese Methode gemacht hat es mir leicht, Fehler zu minimieren, indem sie mir ermöglicht, globale Suche zu tun und Operationen auf alle meine Apps (und die Klassenbibliothek) in der gleichen Zeit ersetzen.

Ich stelle fest, dass die Quellcodeverwaltung Umsetzung zu meinen Workflow selbst ist eine große Veränderung, aber auch ein anderer Entwickler in meinem Prozess der Einführung hat mich ein wenig überwältigt. Ich suche nach etwas Hilfe, wie ein Workflow zu entwickeln, das mein kleines Team ermöglichen wird, schnell und ohne umständliche Prozesse zu bewegen. Ich mag Diskussionen um zu vermeiden, welches SCC-System zu wählen (wir verwenden Mercurial gehen). Ich bin mehr daran interessiert, die Struktur und Workflow-Aspekte dieser Diskussion.

Hier sind die Fragen, die ich brauche Hilfe mit:

  1. Soll ich aufgeteilt jede App in ein separates „Projekt“ oder halten sie alle zusammen, so dass wir Operationen von den globalen profitieren Suchen und ersetzen, wenn nötig fortgesetzt werden kann. Ich mache mir Sorgen um sie, weil der Klassenbibliothek Situation Aufspalten (siehe # 2).

  2. Wenn Splitting die Anwendungen in einzelne Projekte auf, ich bin nicht sicher, wie mit der Klassenbibliothek gehen, dass jedes Projekt eine Kopie benötigt. Zum Beispiel, sagen wir mal, dass die Änderungen auf eine der Anwendungen (nennen wir es „Projekt 1“) eine Änderung der Klassenbibliothek erfordert ..., wenn die Klassenbibliothek in einem separaten Projekt (nennen wir es „Projekt 2“), es scheint „chaotisch“ zu mir, dass Projekt 1 auf den neuesten Änderungen in Projekt 2, um abhängig sein würde, richtig zu arbeiten. Oder machen Sie einfach Ihre Änderungen 2 zu projizieren (die Klassenbibliothek), überprüfen Sie sie in, und kopieren Sie dann die neu kompilierte DLL in Projekt 1 (sollte aber nicht die neue Kopie der DLL wird in Projekt kopiert 1 aufgezeichnet werden in die SCC irgendwie). Ich bin immer verwirrt wie ich dieses ...

  3. schreiben

Vielen Dank im Voraus für Ihre Hilfe.

War es hilfreich?

Lösung

Zuerst Gratulation zu Ihrer Entscheidung, schließlich Quellcodeverwaltung zu verwenden. Ich weiß, wenn Sie Ihre Gewohnheiten kann frustrierend sein, aber auf lange Sicht Ich bin sicher, dass Sie die Vorteile sehen.

  1. Es ist nichts falsch mit einer Lösung, die mehrere Projekte in ihm hat. Ich halte im Allgemeinen Mine bis etwa 10, aber das ist einfach die Ladezeiten zu verbessern. Wenn sie zusammen zu halten für Sie besser funktioniert, lassen Sie es auf diese Weise. Die Verwendung von Quellcodeverwaltung nicht irgendwelche auf diese auswirken.
  2. Was die Klassenbibliothek, glaube ich, was Sie tun müssen, ist die Art und Weise Sie Änderungen an der Bibliothek Projekt gehen zu ändern anstatt, wie Sie die Projekte verwenden, die auf sie verweisen. Implementieren Sie Unit-Tests auf dem Bibliotheksprojekt Abwärtskompatibilität zu erzwingen, so dass Sie wissen, dass die neueste Version der Bibliothek fallen nicht Ihre App brechen. Sie werden dies wahrscheinlich finden ein paar Mal nicht wahr sein, aber wie Sie mehr Unit-Tests entwickeln, um damit zu umgehen Rand Fällen weniger passieren wird und weniger.

Andere Tipps

Sie können mehrere Projekte in einer einzigen Visual Studio Lösung. Was ich in der Vergangenheit getan ist, sowohl das ASP.NET-Projekt und die Klassenbibliothek Projekt in der gleichen Lösung zu haben. Sie können Ihre ASP.NET-Projekt verweisen die Klassenbibliothek Projekt (Verweis hinzufügen und dann auf die Registerkarte Projekte gehen auf andere Projekte in der gleichen Lösung zu zeigen) haben. Auf diese Weise, wenn Sie die Klassenbibliothek ändern, wird die ASP.NET-Anwendung erstellen, die neueste Version der Klassenbibliothek. Sie können Setup mehrere Lösungen -. Eine für jede ASP.NET-Anwendung mit jeder Lösung, einschließlich der Klasse libary Projekt

Sie könnten auch Setup eine große Lösung mit allen Ihren ASP.NET-Projekten sowie Ihre Klassenbibliothek aber das kann ein wenig schwer zu bekommen, mit zu arbeiten, vor allem mit mehreren Entwicklern auf den verschiedenen ASP.NET-Seiten zu arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top