我刚刚一直致力于将登台网站从II6迁移到IIS8。为什么我的网站需要“启用32位应用程序”?
IIS8带有一个选项启用32位应用程序这是一个真正的假标志。该标志的解释是:
[enable32BitAppOnWin64如果设置为True,一个应用程序池 64位操作系统,工作进程(ES)服务于WOW64的 应用程序池运行(WINDOWS上Windows64)模式。在WOW64 模式下,32位进程只加载32位应用程序。
现在,如果我设置为False
我的网站停止服务,我得到一个500记录的错误消息:
ISAPI筛选器 “C:\ WINDOWS \ Microsoft.NET \框架\由于配置问题,v4.0.30319 \ aspnet_filter.dll' 无法加载。目前的 配置仅支持加载为AMD64处理器 体系结构构建的映像。数据字段包含错误编号。要了解这个问题,包括如何进行故障排除这种 处理器架构不匹配错误的更多 ,看到
现在我猜他们也必须符合86标志的组件,所以我使用遵循从this post的说明CorFlags来检查这一点。但是,所有返回Any CPU
,即
Version : v4.0.30319
CLR Header : 2.5
PE : PE32
CorFlags : 9
ILONLY : 1
32BIT : 0
Signed : 0
有轻微veriations但多数民众赞成在JIST。
那么,为什么我需要将启用32位应用程序设置为True
?
所以我做了使用Process Explorer(此question帮助)一些调查,看来,如果我设置使32位应用程序False
并且即使Corflags说,他们不要求32位几种的DLL确实有32位的图像类型: