Se ho un'applicazione .NET compilata "Qualsiasi CPU", funzionerà in modalità 64 bit su un sistema operativo a 64 bit.Esiste un modo per forzare l'esecuzione di un'app compilata con "Qualsiasi CPU" in modalità 32 bit su sistema operativo a 64 bit?
Ma se io, per qualsiasi motivo, voglio forzare questa app per funzionare in modalità 32 bit. (Come se fosse compilato usando "x86"). La ricompilazione non è un'opzione, quindi è possibile configurarlo in fase di esecuzione? Con il file .manifest forse?
Beh, questo è sfortunatamente non è fattibile. L'app in questione ha un nome forte e viene distribuita agli utenti finali (consumatori), e la nuova firma non è nemmeno un'opzione. Peccato. –
È possibile impostare CLR per saltare la verifica del nome sicuro per un assieme specificato. Utilizzo di "sn.exe -Vrassemblyname" (-Vu per riattivare). Ovviamente questo dovrebbe essere eseguito sulla macchina dei clienti. In realtà non lo consiglio, poiché la disattivazione della verifica del nome forte causa fondamentalmente un buco di sicurezza nel CLR, qualsiasi assembly può essere copiato sulla tua app e ricevere automaticamente la piena fiducia (vedere: http://msdn.microsoft.com/en -us/library/k5b5tt23.aspx). La mia raccomandazione è di non scherzare con questo, trovare un modo per fare una ricompilazione, o non farlo. –
@Simon P.Stevens, sono d'accordo con te su tutti i punti. La mia speranza era che potesse essere una voce nel file manifest che potevo distribuire. Ma non sembra questo il caso. –