Ваше понимание не совсем верно.Если сборка состоит только из управляемого кода, всегда будет скомпилирован в чистый MSIL, независимо от настроек компилятора (AnyCPU / x86 / x64), поэтому даже если вы компилируете как x86, вы все равно получите MSIL.
Если вы компилируете как AnyCPU, то ваша сборка может выполняться как или загружаться в 32-битный или 64-битный процесс, тогда как если она компилируется как x86, она может запускаться только (или загружаться в) как 32-битный процесс.немного процесса.Точно так же, когда он скомпилирован как x64, он может работать только (или загружаться) как 64-битный процесс.В обоих случаях используется один и тот же MSIL, и JIT компилирует MSIL в требуемый 32/64-битный собственный код.