ASP.NET Core 6 错误:InvalidOperationException:找不到“/Pages/Error.cshtml”的描述符

Gre*_*ruz 4 c# asp.net-core razor-pages asp.net-core-6.0

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

我收到此错误:

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

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

Jer*_*ney 5

尽管该特定情况的具体情况有所不同,但存在与此错误消息相关的 GitHub 问题。在其中,贡献者@pranavkm 提供了以下指导

\n
\n

该应用程序引用 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 版本的包引用可以解决这个问题。

\n
 <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.0-preview.2.21101.10" />\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
\n

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

\n

通过评估堆栈跟踪,您应该能够识别具体的罪魁祸首\xe2\x80\x94,并且希望开发人员现在已经包含了其软件包的更新版本。

\n

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

\n

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

\n