C # soluzione, possono tutti AnyCPU progetti obiettivo, tranne uno che deve essere x86?
Domanda
Abbiamo una grande soluzione che comprende molte librerie diverse. Abbiamo appena migrato allo sviluppo su un sistema a 64 bit, e questo ci ha pensare a quello di destinazione piattaforma che dovrebbe specificare per ogni singolo progetto nella soluzione.
Al momento attuale, abbiamo solo un progetto di libreria, che i riferimenti un file DLL a 32 bit. Abbiamo fare riferimento a un Interop di questo file DLL tuttavia che riceviamo un errore quando si mira x86 come la piattaforma per questo progetto pur lasciando i rimanenti progetti nella soluzione come "Any CPU".
La mia domanda è, possiamo target Qualsiasi CPU su tutti i nostri progetti ad eccezione di quella che fa riferimento al 32 bit di interoperabilità? O dovrebbe essere proprio tutto di build per x86 in quanto questo sembra funzionare senza alcun errore.
Soluzione
Sì.
tutte le DLL, ma si può essere AnyCPU.
Basta essere sicuri di fare il 86 processo, e tutte le DLL viene caricato come 32 bit.
Qual è l'errore hai trovato? Aggiungendo il messaggio di errore sarebbe probabilmente tradursi in risposte più utili.
Altri suggerimenti
penso che se tutti i tuoi di DLL sono AnyCPU, il file exe può essere sia x64 o x86. Ma, se il vostro exe è o x64 o x86 tuoi file .dll non può essere l'altro. Inoltre, se il .exe è AnyCPU, credo che verrà caricato in qualunque modalità è originario della macchina. Il che significa che la DLL del avuto né la modalità nativa per il sistema AnyCPU o.