2

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

我收到此错误:

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

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

4

2 回答 2

2

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

该应用程序引用了 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 的更新。

于 2021-11-29T20:32:03.480 回答
1

我的解决方案是将目标框架从 net6 更改为 net5,因为看起来 VS2019 可能无法运行 net6.0 应用程序。

于 2021-12-01T07:12:09.903 回答