我有一个ASP.Net Core应用程序,该应用程序在Startup.cs中设置了通常的默认路由。我的应用程序有一个TestsController
,其中包含一些动作例程,包括一个Index()
例程。
今天以前,我在导航至应用程序的/tests/
或/tests/index
端点时从未遇到问题。从今天开始,尝试导航到/tests
会给我IIS HTTP错误403.14-禁止错误页面。如果我尝试导航到/tests/index
,则会得到IIS HTTP错误404.0-找不到页面。
我的应用程序中的所有其他端点似乎都能正常工作。仅仅是/tests
个端点失败了。
如果我将控制器从TestsController
重命名为TestController
(除去“ s”),那么导航到/test
或/test/index
都没有问题。
所以,这听起来像IIS可能正在寻找它认为我要列出的Tests
文件夹?但是我可以在Windows资源管理器中看到的唯一Tests
文件夹位于obj\Debug\netcoreapp2.2\Razor\Views
文件夹中。我不认为IIS可以解决这个问题。
另一个数据点:昨天,我遇到了一个奇怪的问题,VS 2019将加载我的项目,并立即抱怨“ VS使用的进程遇到不可恢复的错误”。我最终发现这是由于我正在使用的标记助手(由于某种未知原因)引起的。删除标签帮助程序代码可以解决该问题。但是,现在我遇到了这个新问题,这令人怀疑。在标签帮助程序问题遗留了某些东西的前提下,我删除了所有的bin和obj文件夹,删除了所有的NuGet软件包,重新引导(几次)并重建了所有内容。运气不好,我仍然无法导航到/tests
端点。
编辑:另一个数据点:我只是在另一台机器上尝试了相同的代码,所以它可以正常工作。问题被隔离在一台机器上。
我如何问IIS认为它在哪里找到tests
文件夹?
答案 0 :(得分:0)
这不是非常有用的答案,但这就是我得到的。。。我在MS技术支持上度过了令人沮丧的一周,但没有解决方案。最后,我取消了本地存储库并重新克隆它,问题就消失了。
那真的很奇怪。如果我只是简单地重命名了解决方案及其所有项目的父目录,那么问题就消失了。如果我将目录重命名为其原始名称,则问题再次出现。