Per ottenere questo livello di isolamento, probabilmente non hai bisogno di un processo separato. Un "AppDomain" separato sarà probabilmente sufficiente.
Per questo, sia che il codice chiamante non si colleghi alla tua lib, o che la tua libreria non si colleghi direttamente contro dll_A
. Al contrario, caricare le librerie dipendenti di WPF in fase di esecuzione in un AppDomain separato e utilizzare il meccanismo di riflessione di framework .Net per chiamare i metodi della libreria, come mostrato in questo vecchio post SO , o questa pagina Microsoft .
Se vuoi veramente l'isolamento a livello di processo, devi mettere il codice della tua libreria di classi che è collegato a dll_A
in un programma wrapper separato (magari uno strumento da linea di comando), implementare un qualche tipo di comunicazione tra processi ( IPC) e fornire una libreria di seconda classe in grado di comunicare con il programma wrapper e fornisce un'API per il codice chiamante. Ma attenzione, IPC aggiunge sempre un sovraccarico, questo ha sempre un impatto sulle prestazioni e sullo sforzo di programmazione richiesto.