每当更换新服务器的时候,总是有许多的问题。本人的ASP.NET MVC网站发布到WEB服务器上后,打开网站提示错误:HTTP 错误 404.17 – Not Found请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。此问题是由于IIS没有注册对应版本的ASP.NET造成的,如果服务是先安装.NET Framework,再安装IIS,就可能会出现404.17的错误。
先说下问题发生的服务器环境:
网站是ASP.NET MVC 5项目,所以IIS上需要注册.NET Framework 4。服务器是Windows Server 2012,数据库是MSSQL。
解决方法:
主要是需要重新注册ASP.NET。使用管理员身份打开命令行(或者win+R键打开运行,输入CMD),运行以下命令:
C:/Windows/Microsoft.NET/Framework/v4.0.30319/aspnet_regiis -i
PS:这里输入的是aspnet_regiis.exe注册工具的路径,默认是上面的那个地址,同时要注意32位系统和64位系统差别,还有版本的差别。
也可以直接打开Visual Studio 命令提示,路径为开始菜单》所有程序》Microsoft Visual Studio》Visual Studio Tools》Visual Studio 命令提示,输入命令:aspnet_regiis -i
注册成功后,重启一下IIS,HTTP 错误 404.17的问题就应该解决成功了。
一定要注意的是,所注册的.NET Framework版本一定要对应你发布的网站项目,具体查看MSDN文档:ASP.NET IIS 注册工具 (Aspnet_regiis.exe)
截取部分文档说明:
.NET Framework 4 可以与 .NET Framework 的早期版本并行安装在一台计算机上。 如果在计算机上以前启用了 IIS,则 .NET Framework 安装过程中将通过 IIS 自动注册 ASP.NET 4。 但是,如果您在启用 IIS 之前安装 .NET Framework 4,则您必须运行 ASP.NET IIS 注册工具,以便使用哪个 IIS 注册 .NET Framework,并创建使用 .NET Framework 4 的应用程序池。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/98684.html