![.net 让我抓狂:)(64 位操作系统在 32 位 HTTP 500 上开发)](https://linux22.com/image/563008/.net%20%E8%AE%A9%E6%88%91%E6%8A%93%E7%8B%82%3A)%EF%BC%8864%20%E4%BD%8D%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%9C%A8%2032%20%E4%BD%8D%20HTTP%20500%20%E4%B8%8A%E5%BC%80%E5%8F%91%EF%BC%89.png)
我刚买了一台新机器,它是 64 位的,但是我仍然有一个使用 .net 2.0 在 32 位环境中编写的应用程序。我对代码做了一些更改并尝试调试,结果得到:
HTTP Error 500.0 - Internal Server Error Calling LoadLibraryEx on ISAPI filter
“C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll”失败”
所以我拼命地在 Google 上搜索,结果它告诉我要重新注册 IIS。我这样做了好几次,但都无济于事。我还检查了此应用程序的应用程序池,发现它设置为使用错误的 .net 版本 (4.0)。所以我将其更改为使用 2.0。重新启动 IIS 尝试运行应用程序,但出现相同的错误消息。
如果我进入 IIS 管理,右键单击站点名称,选择“管理应用程序”->“高级设置...”,我会在此处截取屏幕截图:
如果我单击应用程序池部分,它会显示以下内容:
所以我不确定我做错了什么...我查看了 c:\windows\microsoft.net 内部,有 2 个文件夹“Framework”和“Framework64”,我假设前一个是 32 位的:
最后,我要查看的是 IIS 管理中的“ISAPI 和 CGI 限制”。它们的设置如下:
我再次在运行 Windows 7 的 AMD64 位系统上运行。我安装了所有各种框架,但这个特定的应用程序是一个 asp.net 2.0 应用程序。任何帮助都值得感激...
答案1
哇,多亏了这个,我才能让它工作:http://www.codertakeout.com/v/35674/4O9BY 我必须在应用程序池中启用 32 位应用程序,并为 32 位版本的 ASP.net v2.0 启用 ISAPI CGI 限制
全部令人困惑的东西!