lasciare la piattaforma target a AnyCPU e .NET verrà automaticamente eseguito in modo nativo su 64 bit quando eseguito su un sistema operativo a 64 bit
Chiarimento:
(questo è iniziato come un commento, ma ho pensato che potrebbe essere interessante anche per la domanda)
In realtà non si compila mai per un'architettura speciale. Compilati sempre a IL.
Questo è qualcosa come Bytecode Java. E questo bytecode è lo stesso per 32 bit e 64 bit.
La macchina virtuale (.NET Framework) sulla macchina, il codice viene eseguito, quindi compila l'IL sul codice macchina corrente durante l'esecuzione (tramite la compilazione di Just In Time). Quindi, non importa dove ti compili, finirai sempre con IL che è un po 'ignorante.
L'impostazione in .NET è solo un'istruzione in IL che indica al compilatore JIT (Just in Time) l'uso specifico di 32 bit/64 bit. Sfogliando quel bit nell'assemblaggio, è comunque possibile eseguirlo in AnyCpu o x64 senza ricompilazione.
Questa impostazione viene utilizzata solo e necessaria in caso si chiama fuori per il codice nativo che non è po-ignorante (quando si interagisce con i componenti COM o fare P/Invoke chiamate)
corretta, tanto per essere sicuro che non state ottimizzando per una specifica architettura e si dovrebbe essere tutto a posto. –