====== Schattenkopie Plugins ======
eBiss 3 erlaubt Plugin Dlls zur Laufzeit zu ersetzen.
Dies Beschleunigt den Zyklus: DLL erstellen -> alle Clients beenden -> Service stoppen -> DLL in Plugins kopieren -> alles wieder starten.
Nun kopiert man einfach die neue DLL ins eBiss Plugins Verzeichnis das aufgrund des Ladens der Assemblies aus einem anderen Verzeichnis nicht mehr gesperrt ist.
Danach wählt man im eBiss Hauptmenü unter [[hauptmenue:wartung]] den Eintrag {{images:refresh.png?nolink}} **Schattenkopie-Plugins aktivieren**.
Damit wird ab sofort im Client als auch im Service die neue Version verwendet.
{{:images:sign_warning.png?nolink|}}**Hinweis:** das gilt nur für den Client, der den Befehl aufruft. Die anderen laufen weiterhin mit der alten Version weiter.
Auch hat das keine Auswirkungen, wenn beispielsweise ein Mapping bereits geladen ist. Lädt man es jedoch neu sieht man nun den aktualisierten Datentyp.
Damit das Ganze funktioniert benötige man einige Einstellungen in den .config-Dateien von Server u. Client.
Wichtig ist auch dass es nur funktionieren kann, wenn kein Prozess auf die Plugins zugreift. D.h. sowohl Server, als auch alle Clients müssen in der Config auf ShadowCopy Plugins
eingestellt sein.
===== Empfohlene Konfiguration =====
{{:images:sign_warning.png?nolink|}}**Hinweis:** Die Konfiguration kann mit dem [[ueberblick:installation:konfiguration:start| eBiss Konfigurator]] vorgenommen werden.
**eBiss.WinClient.exe.config**
Damit bekommt der eBiss Client eine lokale Kopie der Plugins. Das Hinzufügen der Pfade für Host u. Port führt dazu dass diese Einstellung auch bei mehreren installierten eBiss Clients gut funktionieren sollten, so lange diese sich in Servername u. Port unterscheiden
**eBiss.Service.exe.config**
In dieser Konfiguration hält der Server die Schattenkopien direkt unter dem Plugins Verzeichnis.
Bei Angabe des **ShadowCopyArchiveDirectory** werden alte Versionen((Das sind DLLs welche im ShadowVerzeichnis stehen, aber nicht mehr geladen werden.)) automatisch ins Archiv verschoben.((Damit wird eine Historie alter DLLs ermöglicht.)) Ist diese Option nicht gesetzt (wie beispielsweiser beim Client) werden veraltete Dlls((Das sind DLLs welche im ShadowVerzeichnis stehen, aber nicht mehr geladen werden.)) im **ShadowCopyDirectory** gelöscht.
{{:images:sign_warning.png?nolink|}}**Hinweis für Entwickler:** Wenn man im Debugging ist und der Prozess DLLs nachlädt, funktioniert die VS Anzeige der Variablenwerte nicht mehr.