Ich verwende MEF und die System.ComponentModel.Composition.dll, um einige DLL zu laden.Ändern Dll geladen mit MEF
Ich mache so etwas wie:
AggregateCatalog catalog = new AggregateCatalog(new AssemblyCatalog(Assembly.GetExecutingAssembly()), new DirectoryCatalog(directory));
_container = new CompositionContainer(catalog);
_container.ComposeParts(this);
meine dll zu importieren.
Nach einigen Zeiten möchte ich meine DLL aktualisieren, aber wenn ich versuche, es zu löschen, habe ich einen Zugriff verweigert, weil es alrealdy vom Programm verwendet wird.
Wie kann ich die DLL freigeben, durch eine neue DLL ersetzen und die DLL erneut laden? (Ohne das Programm zu schließen)
Vielen Dank im Voraus für Ihre Hilfe
Ich habe viele Wege versucht, aber nicht in der Lage, es zum Laufen zu bringen. Ich musste meinen Antrag auf Restart stellen, um die Möglichkeit zu haben, dll zu aktualisieren :( – Tim