我正在Windows 10上使用Visual Studio 2017版本15.8.7。
此问题发生在Asp.net MVC 4网站和Web Api 2中。不适用于Aspnet.Core网站(到目前为止)
最近我遇到了调试网站的问题,它将正常运行,然后在下次启动项目时突然出现404错误。解决该错误的唯一方法是使用其他计算机,创建新项目并复制信息。
每次启动调试器并获取404时,都会记录此事件。
指定用于缓存压缩内容的目录 C:\ inetpub \ temp \ IIS临时压缩文件\ Clr4IntegratedAppPool 是无效的。静态压缩被禁用。
我尝试过的事情。
此问题仅在本地不会在Web服务器上发生。
有什么想法吗?我找不到任何告诉IIS压缩文件的配置,所以不确定为什么我一直看到该错误。
修改
我确定,即使在global.asax中,application_start都不会触发(如果调试器出现问题,它中的StreamWriter代码将记录到文件中)。所以我认为404是因为路由从未注册。
我尝试将Microsoft.AspNet.Mvc更新到最新的5.2.6。
编辑2 所以我找到了一种解决方法。我在本地安装了IIS,然后将其发布到一个文件夹中,并通过附加到该进程进行调试。如果我直接将IIS指向该项目或在VS中使用IIS,则无法使用。
我认为该问题与某些dll错误有关,项目一旦发布似乎就可以工作。
编辑3
找到了问题的根源。我在Windows上使用Ubuntu / bash。通过bash克隆git repo似乎设置了错误的权限。如果我通过命令行克隆,则不会发生此问题。现在,我需要弄清楚为什么bash破坏了文件权限。
答案 0 :(得分:0)
与 Windows 10 上的 VS2017 相同的问题,Windows 的默认 IIS Express 和 git。突然 iisexpress 在 /Default.aspx 上返回 404!!??
解决方案:
这对我的机器有帮助。