Мы обновляем наше приложение с ASP. NET Core 2.2 проекта до ASP. NET 3.0, который использует маршрутизацию EndPoint. Я застрял в следующей проблеме "Веб-страница не найдена". Я считаю, что я применил правильные изменения к ASP. NET 3.0, и я пробовал различные изменения.
Вот кодовые области asp. net core 2.2
startup.cs
public void ConfigureServices(IServiceCollection services)
......
//Asp.net Core 2.2
services.AddRouting();
//AddMvc
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
.AddViewLocalization(
LanguageViewLocationExpanderFormat.Suffix, options => { options.ResourcesPath = "Areas\\Resources"; })
.AddDataAnnotationsLocalization();
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
.....
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
//
routes.MapRoute(name: "Navigation", template: "Navigation/{controller}/{action}/{id?}";
Мы украшаем наши контроллеры с помощью:
namespace Areas.Navigation.Controllers
{
[Area("Navigation")]
[Route("[area]/[controller]/[action]")]
public class NavigationHomeController : Controller
{.......
Вот кодовые области asp. net 3.0 что мы изменили
startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
//Endpoints Start
endpoints.MapAreaControllerRoute(areaName: "Navigation", name: "Navigation", pattern: "Navigation/{controller}/{action}/{id?}");
Моя Страница бритвы включает следующее:
<a asp-area="Navigation" asp-controller="NavigationHome" asp-action="IndexAsync">Navigation</a>
Я получаю следующую проблему, которая Я застрял на