如何解决 ASP.NET 核心 MVC 区域中的 'View not found' 错误?

How do I solve the 'View not found' error in ASP.NET Core MVC in areas?

我不知道为什么我在 ASP.NET Core MVC 3.1 中每次都会收到此错误。我有一个观点,它就在它的位置。我只在某些区域出现此错误。

 InvalidOperationException: The view 'Dashboard' was not found. The following locations were searched:
    /Areas/Admin/Views/Home/Dashboard.cshtml
    /Areas/Admin/Views/Shared/Dashboard.cshtml
    /Views/Shared/Dashboard.cshtml

十分之九,视图上的此错误是因为您忘记将 [Area("Admin")] 属性放在区域控制器的顶部。

Note: As you noted in your answer, this should not include the suffix Area.

虽然按照惯例在 /Areas/{Area}/Views/ 中搜索您的区域视图,但无法隐式确定控制器适用于某个区域。换句话说,.NET 完全依赖于 [Area()] 属性,而与您的控制器是否位于例如/Areas/{Area}/Controllers/。出于组织目的,您可能无论如何都会将它们存储在那里,但 .NET 不关心任何一种方式。

我通过将区域名称从“AdminArea”更改为“Admin”解决了这个问题

我最近遇到了这个问题(将项目从 .NET 5.0 升级到 .NET 6.0 之后),发现当我在本地构建项目然后手动部署时一切正常,但是当通过 Azure Devops 构建和部署时它失败了。

绞尽脑汁后,原来是构建定义仍然设置为使用 Visual Studio 2019 而它应该使用 Visual Studio 2022(因为它可以构建 6.0 项目) .