Ich habe vor kurzem angefangen, für einen neuen Client mit einer alten Codebasis zu arbeiten, in der es mehrere .net-Lösungen gibt. Jede hostet normalerweise einige Projekte, die für diese Lösung spezifisch sind, aber dann "leihen" / "verknüpfen" (bestehendes Projekt hinzufügen) einige andere Projekte was technisch zu anderen Lösungen gehört (zumindest wenn man sich an die Ordnerstruktur in TFS hält)
Ich habe noch nie ein derart verflochtenes Setup gesehen, es gibt keine eindeutige Erstellungsreihenfolge, manchmal verweist ein Projekt in Lösung A direkt auf DLLs aus dem Ausgabeverzeichnis eines Projekts in Lösung B, manchmal wurde das Projekt auch dann direkt aufgenommen, wenn es sich befindet Weit weg in der Ordnerstruktur.
Es sieht so aus, als ob alles für die Faulheit der Entwickler optimiert wurde.
Als ich sie mit der Frage konfrontierte, warum sie keinen CI-Server hatten, antworteten sie, dass es schwierig sei, den Code so einzurichten, wie er ist. (Ich richte es jetzt ein und verfluche diese Code-Organisation)
Die Lösungen sind nach Bereitstellungsartefakten organisiert (Dinge, die zusammen bereitgestellt werden müssen, befinden sich in derselben Lösung). Ich halte dies für eine kluge Entscheidung, aber der Inhalt dieser Lösungen (der Projekte) ist allgegenwärtig.
Besteht ein Konsens über eine bewährte Methode für die Wiederverwendung gemeinsamer Klassenbibliotheken für mehrere Lösungen / Bereitstellungsartefakte?
- So strukturieren Sie Code im VCS
- Erleichterung der gemeinsamen Nutzung von Geschäftslogik zwischen verschiedenen Bereitstellungsartefakten