Sto tentando di caricare un assembly A in un nuovo AppDomain nella mia applicazione console con la stessa directory di base e RelativePath come dominio predefinito.CreateInstanceAndUnwrap non riesce a caricare l'assembly
Quando creo un tipo da A utilizzando CreateInstanceFrom, esso riesce ma quando uso CreateInstanceAndUnwrap
non riesce a trovare il file di assembly con FileLoadException
. Tieni presente che l'assembly A.MyType
chiama un metodo dall'assemblaggio B.Typeb
nel suo costruttore. Entrambi i file assemblee sono presenti nello stesso percorso nella cartella principale di eseguire il montaggio (.. \ Mytypes)
_domain = AppDomain.CreateDomain("MyDomain" + Guid.NewGuid(), null, AppDomain.CurrentDomain.SetupInformation);
var mytype = _domain.CreateInstanceAndUnwrap(pathtoassembly, typename);
Ecco il messaggio di errore:
Impossibile caricare il file o l'assembly' .. \ Mytypes \ A.dll 'o una delle sue dipendenze. Il nome dell'assembly o il codebase forniti non erano validi. (Eccezione da HRESULT: 0x80131047) `
'CreateInstanceAndUnwrap' prende il nome dell'assembly come primo parametro, non il percorso dell'assieme. Inoltre, il percorso '.. \ MyTypes' si trova all'esterno della directory della base dell'applicazione e quindi non viene utilizzato durante la ricerca degli assembly. –
Dovrai documentare la tua domanda con la traccia che ottieni da Fuslogvw.exe –