5

我正在尝试部署GAL Modifier,这是一个在 Windows 2003 x64 机器上使用 Microsoft Access 的 ASP.NET 网站。但是 x64 上没有 JET 驱动程序(参见此处),因此更改是使用将目标 CPU 更改为 x86。

但是,由于它是一个网站,除了任何 CPU 之外,Visual Studio 中没有其他选项,那么如何更改设置以强制它使用 x86?

4

3 回答 3

8

您应该将应用程序池设为 32 位。转到 IIS7 管理控制台中的应用程序池,右键单击您的应用程序池并选择“设置应用程序池默认值...”项。

在属性对话框中,将“启用 32 位应用程序”设置为“真”。

这将使应用程序池进程为 32 位(以 WOW64 模式运行)并在进程中加载​​ 32 位版本的 .NET Framework。

在 IIS6 中,基本上同样适用。您应该切换到 32 位应用程序池以启用 32 位 ISAPI 扩展

cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"

此外,您需要将应用程序映射从文件夹内更改aspnet_isapi.dll为文件夹内。应该做同样的事情。Framework64aspnet_isapi.dllFrameworkaspnet_filter.dll

您可以在服务器上重新注册 ASP.NET,而不是手动更改 DLL 配置:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i -enable
于 2009-09-14T10:39:46.897 回答
3

您可能希望在该语句的末尾加上 1 或 0 而不是“真”

http://support.microsoft.com/kb/894435/en-us (这是一个旧链接,但您可以使用回程机器找到详细信息https://web.archive.org/web/20150131051556/http:// support.microsoft.com/kb/894435/EN-US/

ASP.NET 1.1,32 位版本

要运行 32 位版本的 ASP.NET 1.1,请执行以下步骤:

单击开始,单击运行,键入 cmd,然后单击确定。

  • 键入以下命令以启用 32 位模式: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
  • 键入以下命令以安装 ASP.NET 1.1 版本并在 IIS 根目录下安装脚本映射:%SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
  • 确保 ASP.NET 版本 1.1.4322 的状态在 In​​ternet 信息服务管理器的 Web 服务扩展列表中设置为允许。

ASP.NET 2.0,32 位版本

要运行 32 位版本的 ASP.NET 2.0,请执行以下步骤:

单击开始,单击运行,键入 cmd,然后单击确定。

  • 键入以下命令以启用 32 位模式: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
  • 键入以下命令以安装 ASP.NET 2.0(32 位)版本并在 IIS 根目录下安装脚本映射:%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
  • 确保在 Internet 信息服务管理器的 Web 服务扩展列表中将 ASP.NET 版本 2.0.50727(32 位)的状态设置为允许。

ASP.NET 2.0,64 位版本

要运行 64 位版本的 ASP.NET 2.0,请执行以下步骤:

  • 单击开始,单击运行,键入 cmd,然后单击确定。
  • 键入以下命令以禁用 32 位模式: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
  • 键入以下命令以安装 ASP.NET 2.0 版本并在 IIS 根目录下安装脚本映射:%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
  • 确保 ASP.NET 版本 2.0.50727 的状态在 In​​ternet 信息服务管理器的 Web 服务扩展列表中设置为允许。
于 2009-09-14T12:15:24.650 回答
0

在 iis 6.0 上,在您的左侧选择“应用程序池”,然后(在您的右侧)右键单击您的应用程序并单击“高级设置...”,在“启用 32 位应用程序”选项上,更改为没错,你准备好了!

于 2011-08-17T22:52:13.517 回答