win2008 64位支持32位Asp.net程序

最近在windows2008 x64位系统下的IIS7下部署asp.net程序。

vs2005或vs2008默认的情况下是Any cpu 的也就是支持x86和x64两种系统的。可我的程序在引用了一个三方dll组件时引起了这样的错误:

 

错误“/test”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

程序集加载跟踪: 下列信息有助于确定程序集“XXX”无法加载的原因。

警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

在网上搜索了N久。查询到如下信息。

ASP.NET 程序在编译的时候默认是Any CPU ,即编译的程序可以在X86 X64 系统平台上运行。若希望我们的ASP.NET 程序运行在X64 系统上,我们所要做的仅仅是部署IIS ,修改配置。
若想程序运行于IIS32 位模式下,即运行在.net framwork32 位下进行如下配置:
1.cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1 修改IIS 配置,允许32 位程序运行
2.C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i IIS 注册asp.net32 。注册后在IIS web 扩展里显示的是Asp.net2.0.*32bit
3.Web 扩展里允许 Asp.net2.0.*32bit 运行。运行的是w3wp32.exe 进程。
.64 位模式
1.cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/appPools/enable32bitapponwin64 0 默认就是0 ,若原来运行了32 位程序,则需要重新设置为0
2.C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis - i IIS 注册64 Asp.NET 。注册了64 ASP.NET IIS Web 扩展里显示的是Asp.net2.0.*
3.Web 扩展里允许 Asp.net2.0.* 运行。运行的是w3wp.exe 进程。

处理后还是没有出现“w3wp32.exe进程”。

但我的 Web扩展里面是有, Asp.net2.0的32位设置为允许的。

后新建了应用程序池,在新建的应用程序池的“高级设置”里面,把“启用32位应用程序”设置为true。

程序可以运行了。

因为我的机器已经设置过,cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1 为32位。

为了测试,我又把它设置为64位:cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/appPools/enable32bitapponwin64 0

此时,程序还是可以运行。

所以我认为:不用按照上面的1,2,3步设置开启32位。仅仅设置应用程序池中“启动32位应用程序”为true。此时应该就可以运行32位的程序了。

 

如果有人在X64位系统上,运行32位的asp.net程序,可以直接试试用把“启用32位应用程序”设置为true。的方法。



此文系转载,原地址:http://www.cnblogs.com/angelasp/archive/2013/06/08/3126941.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值