it-swarm.com.de

Wie kann ich zwingen? IIS Express im 32-Bit-Modus ausführen?

Ich habe eine klassische ASP App, die ich unter IIS Express unter 64-Bit-Windows ausführen möchte. Es verwendet Jet, um eine Verbindung zu einer Microsoft Access-Datenbank herzustellen, und arbeitet nicht unter 64 Bit.

Ich habe den folgenden Anwendungspool für die ASP App erstellt, aber es scheint das enable32BitAppOnWin64-Attribut zu ignorieren, und der Prozess ist immer noch 64-Bit.

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

Wie kann ich diesen App-Pool in IIS Express als 32-Bit-Prozess ausführen lassen?

47
GiddyUpHorsey

Gemäß this IIS Express 7.5 wird nur als 32-Bit-Anwendung ausgeführt. IIS Express 8.0 enthält jedoch sowohl 32-Bit- als auch 64-Bit-Versionen der Anwendung. Die 32-Bit-Version finden Sie unter c:\program files (x86)\IIS Express\iisexpress.exe und die 64-Bit-Version finden Sie unter c:\program files\IIS Express\iisexpress.exe.

IIS Express ignoriert das enable32BitAppOnWin64-Attribut. Um den App-Pool als 32-Bit-Version auszuführen, müssen Sie die 32-Bit-Version von IIS Express ausführen.

Sie können feststellen, welche Version im Task-Manager ausgeführt wird, indem Sie den Prozess auf der Registerkarte Prozesse untersuchen. Die 64-Bit-Version wird als iisexpress.exe und die 32-Bit-Version als iisexpress.exe *32 angezeigt.

39
GiddyUpHorsey

Für 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"`
94
Neal

Ändern Sie in IIS Express-Eigenschaftsfenster von VS studio die erste Option: 'Managed Application Pool' von 'Integrated' in 'Classic'.

1
Paul

Bist du sicher?

Es verwendet Jet, um eine Verbindung zu einer Microsoft Access-Datenbank herzustellen, und arbeitet nicht unter 64 Bit.

Ich hatte das gleiche Problem und löste es schließlich, indem ich die 64-Bit-Treiber zur Installation zwang. Dies schlug zunächst fehl, weil Sie die 64-Bit-Treiber nicht installieren können, wenn Sie Office 2010 32-Bit installiert haben.

Aber ... Sie können die 64-Bit-Version der Access Database Engine (ACE) von hier mit dem Schalter 'passiv' installieren:

AccessDatabaseEngine_x64.exe /passive

Und dann konnte ich meinen alten Code mit meiner aktuellen Entwicklungsumgebung ausführen.

0
Jeremy