如何解决 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 项目) .
我不知道为什么我在 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 项目) .