最近在windows2008 x64位系统下的IIS7下部署asp.net程序。
vs2005或vs2008默认的情况下是Any cpu 的也就是支持x86和x64两种系统的。可我的程序在引用了一个三方dll组件时引起了这样的错误:
在网上搜索了N久。查询到如下信息。
处理后还是没有出现“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。的方法。无论是否成功,请告知。谢谢。