如何强制IIS Express以32位模式运行?

Gid*_*sey 48 iis-express

我有一个经典的ASP应用程序,我试图在64位Windows上的IIS Express下运行.它使用Jet连接到Microsoft Access数据库,并且不能在64位下工作.

我为ASP应用程序创建了以下应用程序池,但似乎忽略了该enable32BitAppOnWin64属性,并且该进程仍为64位.

<applicationPools>
    <add name="UnmanagedClassicAppPool32" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" enable32BitAppOnWin64="true" />
</applicationPools>
Run Code Online (Sandbox Code Playgroud)

如何在IIS Express中将此应用程序池作为32位进程运行?

Nea*_*eal 100

对于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"`
Run Code Online (Sandbox Code Playgroud)

  • 这在全球有效.有没有办法按项目执行此操作? (8认同)
  • 我有相反的问题,这是未经检查的,我试图运行一个64位项目.检查它修复了问题.谢谢! (7认同)
  • 也适用于 vs2022 (6认同)
  • 这些方向也适用于Visual Studio 2015! (2认同)
  • 适用于 Visual Studio 2017 (2认同)

Gid*_*sey 40

根据这个,IIS 7.5快递只来作为32位应用程序.但是,IIS Express 8.0附带32位和64位版本的应用程序.可以找到32位版本,可以找到c:\program files (x86)\IIS Express\iisexpress.exe64位版本c:\program files\IIS Express\iisexpress.exe.

IIS Express忽略该enable32BitAppOnWin64属性.要将应用程序池作为32位运行,必须执行32位版本的IIS Express.

您可以通过检查"进程"选项卡上的进程来确定任务管理器中正在运行的版本.64位版本将显示为iisexpress.exe,32位版本将显示为iisexpress.exe *32.

  • 很好的建议,昨天升级一整天后尝试修复构建服务器上的构建,而 IIS 7.5-8 的更改就是问题所在。 (2认同)

Bor*_*ode 10

添加到您的 csproj 项目的标签<Use64BitIISExpress>false</Use64BitIISExpress>下。<PropertyGroup>

也可以通过 UI 通过单击项目属性 -> Web 选项卡 -> Bitness(更改为 x64)来使用它。