我做了一个简单的asp.net Web应用程序,什么都不做。它使用.net framework 2.0(与服务器上的所有其他应用程序一样),但当我将其更改为.net framework 4.0时,我得到“500 - 内部服务器错误”。
要更改为4.0,我使用.Net Framework 4.5.2(也尝试过4.0)进行了编译,并将IIS中的应用程序池更改为ASP 4.0集成。
我将web.config设置为显示错误,但它仍然只是上面的模糊错误消息。我在系统日志中看不到任何错误或警告。我注册了.net framework v4.0.30319。
导致这种情况的原因是什么?
的web.config:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation strict="false" explicit="true" targetFramework="4.5.2"/>
<httpRuntime targetFramework="4.5.2"/>
<customErrors mode="Off">
<error statusCode="403" redirect="NoAccess.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
</system.web>
</configuration>
答案 0 :(得分:2)
我假设你没有注册.NET 4.0安装正确。您需要使用以下参数cmd
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"
中投放
安装此命令的步骤
1.现在需要通过在“运行”命令中键入cmd来启动命令提示符,然后通过右键单击并从上下文菜单中选择“以管理员身份运行”来执行具有管理员权限的命令提示符。
2.然后在命令提示符下,您需要导航到包含您需要输入的aspnet_regiis.exe
文件的目录。
CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
然后你需要键入以下命令并按Enter键以使用IIS注册ASP.Net。
aspnet_regiis -i
答案 1 :(得分:2)
启用并查看您的网络消息的详细错误,您可以找到真正的问题。如果您可以在服务器上运行浏览器,则会获得有关错误的详细信息,因为服务器会识别您是本地的并显示给您。 事件查看器,还会显示错误的详细信息。尝试使用 debug =“true”。
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
</system.web>
</configuration>