Dal codice che hai postato, se ho capito bene, tu scandisci tutte le librerie dei plugin e ne carichi una classe rappresentativa memorizzandone l'oggetto in una lista (variabile Plugins).
In questo modo, non puoi sbloccare la libreria in quanto hai un oggetto attivo in memoria che appartiene ad una classe definita nel file che intendi restituire.
A mio avviso, dovresti memorizzare solo delle "informazioni di riferimento" nella lista dei plugin, ossia dei dati che ti consentano di sapere quali plugin sono installati ed eventualmente cosa puoi farci, ma senza andare a creare oggetti definiti nella libreria esterna del plugin; quest'ultima operazione la fai solo nel momento in cui ti occorre necessariamente, usando le informazioni di riferimento per individuare la libreria, la classe e fare quello che stai facendo attualmente.
Per ottenere delle "meta-informazioni", potresti opzionalmente ricorrere all'uso di attributi (discendenti di System.Attribute) con cui decorare i plugin.
Penso sia più difficile rendere l'idea del concetto che descriverlo.
Spero comunque che sia chiaro.
Ciao!![]()



Rispondi quotando