【问题标题】:ASP.NET Core 6 Error: InvalidOperationException: A descriptor for '/Pages/Error.cshtml' was not foundASP.NET Core 6 错误:InvalidOperationException:找不到“/Pages/Error.cshtml”的描述符
【发布时间】:2021-08-05 11:43:03
【问题描述】:

我是 ASP.NET Core 6 Web 应用程序的新手。当我第一次运行我的 Web 应用程序时遇到了问题。

我收到此错误:

InvalidOperationException:找不到“/Pages/Error.cshtml”的描述符。

我需要帮助来解决这个问题。

【问题讨论】:

  • 您的Error.cshtml 是什么样的?它是否包含@Page 指令?在此处包含页面的基本结构将更容易帮助调试。
  • @JeremyCaney 在将 ASP.NET Core 3.1 应用程序引入 .NET 6 并将 Microsoft nugets 更新到 6.0.0 后,我也遇到了这个错误。在我的情况下,错误是在执行endpoints.MapRazorPages();', and it complains about the first Razor page it finds alphabetically. If I remove that page it just complains about the next page in alpha order. From Stack trace, at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.CompiledPageActionDescriptorProvider.OnProvidersExecuting(ActionDescriptorProviderContext context)...' 时触发的
  • @Emilio:ASP.NET Core GitHub repository 上有与此错误相关的 an issue。具体情况不同,它来自预览版本之一,但根本原因可能相似。由于如何将该指南转换为您的特定应用程序可能不是很明显,因此我在下面的答案中添加了一些更广泛的故障排除步骤。

标签: c# asp.net-core razor-pages asp.net-core-6.0


【解决方案1】:

有一个GitHub issue related to this error message,尽管该特定情况的具体情况会有所不同。其中,贡献者@pranavkm 提供the following guidance

该应用引用了 6.0 运行时和 3.1 版本的 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation(通过 https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc/1.1.2 传递)。我们最近对 Mvc 进行了行为更改,在使用该功能时需要兼容(6.0 版本)运行时编译。添加对 6.0 版本的包引用可以解决这个问题。

 <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.0-preview.2.21101.10" />

混合包版本(使用 3.x 或 5.x 版本的包和 6.0 运行时)不一定总是有效。我们预计用户会在迁移过程中更新他们的软件包。我可以让开发团队中的更多人来运行它,但我们不太可能在这里做任何额外的工作。

现在,很明显,您可能没有使用 Volo.Abp — 并且,通过扩展,您可能没有使用 Razor 运行时编译。因此,您的特定错误的来源可能不同。但是您的错误的原因应该是相同的:您的依赖项之一维护对具有不兼容代码的旧版 3.x 或 5.x 包的引用。

通过评估您的堆栈跟踪,您应该能够确定具体的罪魁祸首,并且希望开发人员现在已经包含了他们包的更新版本。

如果是由于下游依赖(如上例所示),您需要深入了解 NuGet 的依赖关系图,以找到依赖于 3.x 或 5.x 运行时的有问题的包。如果是这种情况,希望有更新的兼容版本,然后您可以通过 NuGet 建立对升级版本的显式依赖。

如果没有有问题的软件包有更新的兼容版本,您需要联系供应商,和/或等待他们发​​布 .NET 6 的更新。 p>

【讨论】:

    【解决方案2】:

    我的解决方案是将目标框架从net6改为net5,因为VS2019似乎无法运行net6.0应用程序。

    【讨论】:

    • 谢谢,它适用于我的情况
    猜你喜欢
    • 2011-07-11
    • 2018-11-22
    • 1970-01-01
    • 2011-01-16
    • 2011-04-27
    • 2011-05-02
    • 1970-01-01
    • 2013-03-04
    相关资源
    最近更新 更多