Dieser geht Runde um Runde ich weiß, aber ich kann nicht scheinen, eine befriedigende Antwort zu finden.Revising GAC Installationen
Sollten Baugruppen in den GAC gehen? Diese Fragen: when-and-when-not-to-install-into-the-gac und What are the advantages and disadvantages of using the GAC, Adresse genau das, aber die Antworten sind sehr viel "es wird empfohlen, dass ..." oder "Sie sollten nur ...". Warum???
Viele der GAC Naysays Blogs scheinen vor 5/6 Jahren zu datieren, als der Stern von .Net anfing zu steigen. Sind wir jetzt noch da? Sicherlich ist DLL-Hell Vergangenheit, da die GAC Seite an Seite die Installation verschiedener Versionen der "gleichen" Baugruppe unterstützt.
Lassen Sie mich meine Bedenken konkretisieren. Wir haben eine wachsende Anzahl von Web-Apps (bisher 5). Dies sind im Wesentlichen Erweiterungen für eine Anwendung eines Drittanbieters über API-Aufrufe und Datenbankerweiterungen. Offensichtlich teilen alle diese Apps viel Code gemeinsam und wir entwickeln einen neuen Satz von gemeinsamen Bibliotheken, um unsere Qualität, Wartbarkeit usw. zu verbessern.
Sicher möchte ich diese gemeinsame Funktionalität einmal installiert und geteilt. Alle Argumente, einen Wartungs-Alptraum zu eröffnen, scheinen auf einer Welt schlechter Disziplin zu beruhen. Wenn Sie den ABI brechen, reicht es aus, die AssemblyVersion zu stoßen, um Ihre bestehenden Apps funktionsfähig zu halten.
Ist der GAC wirklich eine Honigfalle für die Ahnungslosen? Bin ich naiv? Werde ich unnötig hart, wenn ich Argumente, die den Verlust von "XCopy" zitieren, als faule Jammern installiere? Oder wird es ein bisschen "religiös" und ich sollte einfach mit dem gehen, was richtig erscheint?
Danke, dass Sie mir geholfen haben, das Licht zu sehen.
Dan
Nach Davids Antwort habe ich die Schlussfolgerung gezogen, dass der GAC ein guter und respektabler Ort ist, um unsere Versammlungen zu lagern, solange wir mit den Änderungen, die wir vornehmen, vorsichtig sind. Ich denke, dass eine einzige installierbare Einheit an einem einzigen identifizierbaren Ort unsere gesamte Entwicklungs- und Implementierungsstrategie leichter verwalten und warten lässt. Also, nochmals danke an David für seine Antwort. Ich habe es als eine Antwort markiert, obwohl dies eindeutig ein Bereich von Subjektivität ist. Danke, Dan –