Sto lavorando a un'applicazione Web su un computer Windows 8 a 64 bit utilizzando più librerie esistenti. Voglio utilizzare due DLL C# che fanno riferimento a una DLL nativa. Entrambe le DLL C# sono compilate per l'utilizzo a 64 bit e testate nelle applicazioni di test. La mia applicazione Web fa riferimento a entrambe le DLL C# e deve essere eseguita su IIS 8. Ho aggiunto le due DLL C# come riferimenti al progetto e la DLL nativa manualmente alla cartella bin dell'applicazione Web. Ogni volta che costruisco ed eseguo la soluzione ottengo l'eccezione mostrata nel titolo. So che questo è un segno per un problema riguardante il codice a 32 bit e 64 bit in esecuzione in un unico processo. Pertanto ho provato tutte le diverse configurazioni di build ma il risultato non è mai cambiato.BadImageFormatException: Impossibile caricare il file o l'assembly ... formato non valido - Solo con l'applicazione Web
Ho creato un'applicazione console facendo esattamente quello che sto provando nell'app Web e ha funzionato perfettamente. L'applicazione Web con le stesse identiche impostazioni lancia comunque l'eccezione, questo è ciò che mi confonde davvero.
quello che ho provato finora: impostazione
- piscina Modifica applicazione per "abilitare le applicazioni a 32-bit"
- costruire tutti DLL con qualsiasi CPU, 64 bit o x86 bersaglio
- Controllare le corflags di tutti DLL
Posso fornire un'esportazione del progetto a tutti coloro che desiderano aiutarmi a eseguire questa configurazione!
Apprezzo davvero ogni piccolo aiuto!
Avete ancora qualche soluzione per questo?Perché anche noi abbiamo lo stesso problema e fino ad ora non abbiamo trovato una soluzione funzionante. –
Ciao Saeed, mi dispiace per la mia risposta in ritardo. Poiché il mio progetto era un'app Web, ho deciso di creare una seconda applicazione Web come servizio web che rende disponibile la funzionalità della DLL nativa tramite REST. Non ho trovato alcuna altra soluzione al problema. – JZet