Как заставить 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-битный процесс?
Ответы
Ответ 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
И тогда я смог запустить свой старый код с моей текущей средой разработки.