簡體   English   中英

如何解決區域中 ASP.NET Core MVC 中的“未找到視圖”錯誤?

[英]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")]屬性放在區域控制器的頂部。

注意:正如您在回答中指出的那樣,這不應包括后綴Area

雖然按照慣例,在/Areas/{Area}/Views/中搜索您的區域視圖,但沒有努力隱式確定控制器是針對某個區域的。 換句話說,.NET 完全依賴[Area()]屬性,與您的控制器是否存在於例如/Areas/{Area}/Controllers/無關。 無論如何,出於組織目的,您可能會將它們存儲在那里,但 .NET 並不關心任何一種方式。

我最近遇到了這個問題(在將項目從 .NET 5.0 升級到 .NET 6.0 之后),當我在本地構建項目然后手動部署時發現一切正常,但是當通過 Azure Devops 構建和部署時它失敗了。

經過一番摸索,結果發現構建定義仍然設置為使用 Visual Studio 2019,而它本應使用 Visual Studio 2022(因為它可以構建 6.0 項目)。

我通過將區域名稱從“AdminArea”更改為“Admin”解決了這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM