升级到x64会导致HTTP 500

我升级了我的开发机器到64位的Win7,现在当我尝试连接到本地的ASP.Net项目时,我得到:

HTTP错误500 …在ISAPI筛选器“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_filter.dll”上调用LoadLibraryEx失败

有几个令人费解的事情, ASP.Net项目是.Net 2.0 ASMX,因此它使用C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727。 如果它没有问我更新到x64,它应该不使用C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \? C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \从哪里来?

我打开了IISpipe理器,为我的机器select的.Net Framework版本是2.0.50727。 我的默认应用程序池的框架版本是相同的。

我正在开发VS2008,它甚至没有针对。NET 4.0的选项。

这听起来像你有一个32位的应用程序的一部分,你试图在IIS中的64位应用程序池中运行它。 默认情况下,64位操作系统上的应用程序池为64位。 要启用32位模式,您需要转到应用程序池的高级属性,并更改“启用32位应用程序”的设置。

在这里输入图像说明

尽pipe.Net 2.0框架安装在我的机器上,并在IISpipe理器中select, ASPNET_REGIIS表示它没有注册:

 cd C:\Windows\Microsoft.NET\Framework\v2.0.50727 aspnet_regiis -lv 4.0.30319.0 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll 4.0.30319.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 

这怎么可能我不知道 重新注册ASP.NET 2修复了这个问题:

 aspnet_regiis -i Finished installing ASP.NET (2.0.50727) aspnet_regiis -lv 2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll 4.0.30319.0 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll 2.0.50727.0 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 4.0.30319.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 

这与升级到Win 7无关; 那是一场疯狂的追逐。