Подтвердить что ты не робот

Как заставить IIS Express работать в 32-битном режиме?

У меня есть классическое приложение ASP, которое я пытаюсь запустить под IIS Express на 64-битной Windows. Он использует Jet для подключения к базе данных Microsoft Access и не будет работать под 64 бит.

Я создал следующий пул приложений для приложения ASP, но он, кажется, игнорирует атрибут enable32BitAppOnWin64, а процесс все еще 64 бит.

<applicationPools>
    <add name="UnmanagedClassicAppPool32" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" enable32BitAppOnWin64="true" />
</applicationPools>

Как я могу заставить этот пул приложений в IIS Express работать как 32-битный процесс?

4b9b3361

Ответ 1

Согласно этому, IIS Express 7.5 поставляется только как 32-битное приложение. Однако IIS Express 8.0 поставляется с 32-разрядной и 64-разрядной версиями приложения. 32-разрядную версию можно найти в c:\program files (x86)\IIS Express\iisexpress.exe, а 64-разрядную версию можно найти в c:\program files\IIS Express\iisexpress.exe.

IIS Express игнорирует атрибут enable32BitAppOnWin64. Чтобы запустить пул приложений как 32 бит, вы должны выполнить 32-разрядную версию IIS Express.

Вы можете определить, какая версия запущена в диспетчере задач, изучив процесс на вкладке "Процессы". 64-битная версия будет отображаться как iisexpress.exe, а 32-разрядная версия будет отображаться как iisexpress.exe *32.

Ответ 2

Для Visual Studio 2013   Visual Studio 2015   Visual Studio 2017:

 Tools
  -> Options
   -> Projects and Solutions
    -> Web Projects
     -> Uncheck "Use the 64 bit version of IIS Express for web sites and projects"`

Ответ 3

В окне свойств IIS Express студии VS измените первый вариант: "Пул управляемых приложений" от "Интегрированный" до "Классический"

Ответ 4

Вы уверены?

Он использует Jet для подключения к базе данных Microsoft Access и не будет работать под 64 бит.

У меня была такая же проблема, и в итоге она была решена путем принудительного установки 64-битных драйверов. Первоначально это не удалось из-за ошибки, что вы не можете установить 64-битные драйверы, если у вас установлен 32-разрядный компакт-диск Office 2010.

Но... вы можете заставить 64-битную версию Access Database Engine (ACE) отсюда, чтобы установить с помощью "пассивного" переключатель:

AccessDatabaseEngine_x64.exe /passive

И тогда я смог запустить свой старый код с моей текущей средой разработки.