Verweisen auf freigegebene Assemblys, die sich noch in der Entwicklung befinden (.NET)

Ich bin für die Entwicklung und Wartung einer Reihe allgemeiner Framework-Assemblys verantwortlich, die zum Erstellen unserer Produktanwendungen verwendet werden. Diese Baugruppen sind relativ neu und befinden sich im Fluss, da neue Features usw. implementiert werden. Daher ist es nicht ungewöhnlich, dass sie häufig neu erstellt und verteilt werden. Ich würde erwarten, dass dies abnimmt, wenn die Versammlungen stabilisiert werden, aber es ist das, was es heute ist.

Derzeit werden die Assemblys in einem allgemeinen Ordner abgelegt, in dem die Entwicklungsprojekte auf dieselben Assemblys verweisen können. Das Anwenden von Updates ist so einfach wie das Ersetzen der Dateien. Die Entwicklungsprojekte übernehmen die Änderungen automatisch, wenn sie das nächste Mal geladen und erstellt werden.

Das Problem, das ich habe, ist, dass wir möglicherweise mehrere "Ebenen" von Assemblys haben, die auf dem Framework aufgebaut sind - zum Beispiel eine von allen Anwendungen gemeinsam genutzte Core-Bibliothek und eine Server-Bibliothek, die auf Core verweist und von allen Server-Anwendungen gemeinsam genutzt wird. Alle Abhängigkeiten müssen bei jeder Aktualisierung der Framework-Baugruppen neu erstellt werden, was eine sehr große Aufgabe darstellt. Ich glaube nicht, dass ich das GAC verwenden kann, da dies erfordern würde, dass alle Entwickler ihre Systeme jedes Mal aktualisieren, wenn eine neue Version veröffentlicht wird.

Ich habe die Publisher-Richtlinien untersucht, habe jedoch einige Zweifel, dass dies mein Problem aus mehreren Gründen lösen wird:

Zum einen möchte ich die Datei nicht jedes Mal neu erstellen, wenn ich meine Framework-Assemblys neu erstelle - gibt es eine Möglichkeit, diesen Prozess zu automatisieren?

Es ist mir nicht klar, ob es erforderlich ist, dass die Baugruppen in den GAC gehen. Wie gesagt, ich möchte meine Entwickler nicht zwingen, jedes Mal, wenn wir eine neue Version der Assemblys veröffentlichen, neu zu installieren, zu aktualisieren usw.

Ich habe keine Kontrolle über die Netzwerkeinrichtung und -konfiguration, daher ist es erforderlich, das gesamte Problem der "Vertrauenswürdigkeit" zu vermeiden, indem die Dateien auf einer Netzwerkfreigabe abgelegt werden. Außerdem arbeiten viele unserer Entwickler in einer manchmal verbundenen Art und Weise, und wir möchten, dass ihnen die Dateien zur Verfügung stehen, wenn sie nicht verbunden sind.

Ziel wäre es, die Aktualisierung dieser Assemblys für unsere Anwendungsentwickler, die sie verbrauchen, transparent zu machen. Zweifellos werden wir diese Assemblys bei der Installation der Anwendung im GAC auf dem Zielcomputer installieren, aber wir möchten dies nicht für Entwicklungszwecke tun. Es ist auch nicht sinnvoll, die Projekte in die Lösung jeder Anwendung aufzunehmen, da sie von verschiedenen Teams entwickelt werden.

Ich kann mir nicht vorstellen, dass ich mit diesen Anforderungen alleine bin und hoffe, dass jemand seine Erfahrungen und Weisheiten teilen kann, um mich zu einer Lösung zu führen. Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage