.NET 6 在其所在的确切目录中搜索时返回未找到的视图
.NET 6 returning view not found while it searches in the exact directory it is located in
我最近正在使用新的最小托管模型从 .NET 5 MVC 应用程序迁移到 .NET 6 MVC 应用程序。在此迁移过程中,我一次又一次地遇到“未找到视图”InvalidOperationException。
证明视图位于正确的地图中,并且该位置的程序 'searched':
如您所见,所有地图和文件名都对应。
我已经按照微软的迁移指南一步步进行了,但是没有用。我个人认为添加端点有问题,但我已经尝试了每一个可能的选项。NET 6 允许我添加默认控制器路由。
app.UseEndpoints(endpoints => {
endpoints.MapDefaultControllerRoute();
endpoints.MapRazorPages();
});
或这个
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
当然还有这个
app.UseEndpoints(endpoints => {
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
但没有任何效果。谷歌搜索后,我还没有真正在网上找到任何解决方案,而这个问题只是让我陷入了迁移。我希望有人能指出我正确的方向。
将我的 vs 更新到 17.1.0 后,我遇到了完全相同的问题。我从 NuGet 安装了包Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
。
然后在您的 Program.cs 添加对 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
的引用和下面的代码。
builder.Services.AddMvc().AddRazorRuntimeCompilation();
我最近正在使用新的最小托管模型从 .NET 5 MVC 应用程序迁移到 .NET 6 MVC 应用程序。在此迁移过程中,我一次又一次地遇到“未找到视图”InvalidOperationException。
证明视图位于正确的地图中,并且该位置的程序 'searched':
如您所见,所有地图和文件名都对应。
我已经按照微软的迁移指南一步步进行了,但是没有用。我个人认为添加端点有问题,但我已经尝试了每一个可能的选项。NET 6 允许我添加默认控制器路由。
app.UseEndpoints(endpoints => {
endpoints.MapDefaultControllerRoute();
endpoints.MapRazorPages();
});
或这个
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
当然还有这个
app.UseEndpoints(endpoints => {
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
但没有任何效果。谷歌搜索后,我还没有真正在网上找到任何解决方案,而这个问题只是让我陷入了迁移。我希望有人能指出我正确的方向。
将我的 vs 更新到 17.1.0 后,我遇到了完全相同的问题。我从 NuGet 安装了包Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
。
然后在您的 Program.cs 添加对 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
的引用和下面的代码。
builder.Services.AddMvc().AddRazorRuntimeCompilation();