Ich habe eine Lösung mit etwa 10 verschiedenen Projekten - ich habe eine einzige Klassenbibliothek, die ich in ziemlich vielen Webprojekten verwende. Das Problem, wenn ich gehe, um diese Projekte bereitstellen ... sie werden ihre eigenen bin-Verzeichnisse und damit Verweise auf diese Bibliothek haben ... so müsste ich den Verweis auf alle 9 Orte/Projekte zu aktualisieren, wenn ich die Klassenbibliothek aktualisiert .... gibt es eine Möglichkeit, dass ich wie ein gemeinsames Root-Bin-Verzeichnis haben könnte, wo alle Projekte aus verweisen könnte und dass, wenn ich die Klassenbibliothek ändern es automatisch in allen 9 Projekten aktualisiert werden, da sie aus einem gemeinsamen bin-Verzeichnis lesen?
Antworten
Zu viele Anzeigen?Sie können die gemeinsame Bibliothek in den GAC (Global Assembly Cache) installieren.
http://support.microsoft.com/kb/815808
Nachdem Sie die DLL im GAC installiert haben, können Sie den Verweis in jedem Ihrer Webprojekte so ändern, dass er auf die im GAC gespeicherte Version der Bibliothek verweist.
Aktualisiert:
Die andere Möglichkeit ist, die DLL programmatisch/dynamisch zur Laufzeit zu laden (in allen Webprojekten, die sie benötigen). Dies sollte nur unter besonderen Umständen geschehen.
Aus dem Stegreif würde ich sagen, dass der häufigste "besondere" Umstand darin besteht, dass Ihre Anwendung eine Art von Plug-in-Architektur hat. Wie Sie im obigen Link sehen können, nimmt das Laden von Baugruppen ein wenig Arbeit.
Ehrlich gesagt, wenn Sie in einer Produktionsumgebung bereitstellen, sollten Sie in der Lage sein, ein MS-Installer-Projekt zu verwenden, um Ihre DLL im GAC bereitzustellen. Die Befehlszeilentools sind eher für Entwicklungszwecke gedacht.