欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

HTTP 错误 404.17:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。 有大用 有大大用

HTTP 错误 404.17 - Not Found
请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。

最可能的原因:
请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。

在访问 ASP.NET 网页时出现如上提示,打开 IIS,检查如下几项:  有大用

IIS

“MIME 类型”中缺少 .aspx 倒是正常的,因为我对照了其他正常服务器也是这样。

“处理程序映射”中 *.aspx 的路径类型是未指定,也是正常的,因为我对照了其他正常服务器也是这样。

倒是“ISAPI 和 CGI 限制”、“ISAPI 筛选器”只有 .NET 2.0,我就照着别的服务器添加上了 4.0 版本(我的 web.config 中配置的是 4.5 版本,但是 IIS 中配置 4.0 版本即可,就像我们 web.config 中配置的是 3.5 版本,IIS 中配置 2.0 版本即可一样),可是还是不行。

我就下载新的 .NET 4.5,安装却提示“您的计算机中已经安装了 .NET Framework 4.5 和此更新。”

我又从控制面板“卸载程序”中卸载所有的 .NET 版本,然后安装,仍然提示依旧。

我又从“启用和关闭 Windows 功能”中卸载,然后安装,仍然提示依旧。(我很想不通的是:为什么“卸载程序”和“启用和关闭 Windows 功能”都有相同的 .NET 版本,感觉它们像是在不同的地方安装了 2 份一样。)

没办法,于是又从“启用和关闭 Windows 功能”中安装回去,还是不行。

最后发现一个地方漏了:

“启用和关闭 Windows 功能”->“Internet Information Services”->“万维网服务”->“应用程序开发功能”。

IIS

成功了!!!

但是问题又来了,由于前面在控制面板中删除了大量的 .NET 版本,用 Visual Studio 打开项目时,出现如下提示:

Visual Studio 的 .NET 版本不对

如果不想升级,就下载 .NET 版本,打开网址:https://www.microsoft.com/net/targeting

下载下来安装后,却提示已经安装了高版本,低版本无法安装。痛苦。好吧,那就改为 4.5.2 吧。

坑爹的是,Visual Studio 编译项目的时候居然说 4.5.2 也没有,编译不了。疯了。原来 Visual Studio 提示由 4.5 变更到 4.5.2 并不是因为我有没有 4.5.2,而是因为官方不再支持 < 4.5.2 的版本了,这逻辑……

检查 Visual Studio 的项目属性中,目标框架最高是 3.5(再次印证“启用和关闭 Windows 功能”中的 .NET 跟这里没有关系,也许那里只是 ASP.NET,这里是 .NET Framework?)。惹毛了,安装最新版本 4.6.2,把 Visual Studio 中的所有项目所有地方改为 4.6.2,这下终于彻底解决了。


来自 https://www.itpow.com/c/2017/02/6804.asp


普通分类: