2013-05-29 35 views
4

我刚刚一直致力于将登台网站从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位的图像类型:

enter image description here

回答

1

我相信我已经得到了这条底线,最终!

所以看起来这台机器缺少一些x64配置。特别是“ISAPI筛选器”配置包含标准.net 4 aspnet_filter.dllC:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_filter.dll)但不是x64版本(C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_filter.dll

enter image description here

从我们infrastructuire人交谈,他们认为得到这个正确设置是的最佳途径“卸载.NET 4.0功能并重新安装它“请记住,这需要重新启动!

相关问题