Скомпилируйте ASP.NET до 64 бит

Моя машина для разработки - это 32-разрядная версия Win XP Pro, а производственная машина - Windows Server 2008 (64 бит) с IIS 7. На моей машине разработки я хочу скомпилировать ASP.NET(с использованием компилятора aspnet) в код с 64-битным байтом.

Кто-нибудь может рассказать мне, как это сделать? Пожалуйста, не предлагайте никаких способов запуска 32-разрядного приложения в 64-битной среде.

Я хочу, чтобы 64-битное приложение было скомпилировано на 32-битной машине, поэтому при его запуске оно будет в полной мере использовать 64-битное O/S без эмуляции.

Ответы

Ответ 1

Оставьте целевую платформу в AnyCpu, и .NET автоматически будет запускаться изначально на 64-битном при выполнении в 64-битной операционной системе

Уточнение:

(это началось как комментарий, но я подумал, что это может быть интересно и для вопроса)

На самом деле вы никогда не компилируете специальную архитектуру. Вы всегда компилируете IL.

Что-то вроде Java Bytecode. И этот байт-код одинаковый для 32-битного и 64-битного.

Виртуальная машина (.NET Framework) на машине запускает код, а затем компилирует IL в фактический машинный код во время работы (через компиляцию Just In Time). Таким образом, независимо от того, где вы компилируете, вы всегда окажетесь в ИЛ, что бит-невежество.

Настройка в .NET - это только инструкция в IL, которая сообщает JIT (Just in Time компилятор) специально использовать 32 бит /64 бит. Перевернув этот бит в вашей сборке, вы все равно можете выполнить его в AnyCpu или x64 без перекомпиляции.

Этот параметр используется и необходим только в том случае, если вы вызываете собственный код, который не является бит-неосведомленным (при взаимодействии с компонентами COM или выполнении вызовов p/invoke)

Ответ 2

Приложения

.net будут перенаправляться на целевую компьютерную среду, предполагая, что вы специально не решили скомпилировать ее в 32-битном режиме. Это можно найти в вариантах построения проекта.

Ответ 3

В Visual Studio 2013 теперь есть возможность направить IIS Express (который обычно используется для отладки) для запуска в режиме 64 бит.

Он при Tools -> Options -> Projects and Solutions -> Web Projects -> Use the 64 bit version of IIS Express…