在64位操作系统下IIS发布32位的项目,报“项目依赖的dll无法读取,试图加载格式不正确的程序”错误。
原因:程序集之间的通讯要么全是64位环境下的,要么全是32位环境下的。不能混编访问。不然会出现“试图加载格式不正确的程序”的错误。
解决方法(两步解决):
1、【开始】-【运行】,复制下面的代码:
cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1
点【确定】运行。说明:enable32bitapponwin64为1代表可运行32位应用程序(此命令的作用是使IIS能够注册32位的.net FW)
2、cmd命令,到下面目录,并运行:
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727>aspnet_regiis.exe -i
说明:64位默认是在IIS下注册了64位的.net Framework的,因此还必须再注册一个32位的.net Framework