Domanda

In uno dei progetti su cui sto lavorando, il codice viene caricato dinamicamente in una DLL .net in un assembly completamente affidabile utilizzando il metodo Assembly.LoadFrom funzione.Fino ad ora ha funzionato al 100% senza problemi.

Ora ho una DLL di Visual C++ compilata con /clr:pure che deve essere caricata utilizzando quanto sopra Assembly.LoadFrom.Ottengo BadImageFormatException quando lo faccio, il che è davvero strano.

Nel progetto Visual C++ sono disponibili 3 tipi di opzioni di compilazione CLR:

/clr

/clr:puro

/clr:sicuro

Secondo le istruzioni che mi sono state fornite, deve essere compilato in /clr:pure.Il mio problema è che l'utilizzo di /clr:pure genera l'eccezione.Se lo cambio in /clr genera anche un'eccezione.Se lo cambio in /clr:safe si carica senza generare un'eccezione (qui è dove sono finiti i miei test).

Quindi immagino che questa sia davvero una domanda in due parti:

1) Perché /clr:safe funzionerebbe ma non gli altri due?

2) Come faccio a farlo funzionare con /clr?

Grazie in anticipo!

È stato utile?

Soluzione

Dopo la ricerca, questo metodo non è in grado di caricare assiemi misti.Possono essere solo MSIL puri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top