Я перенес веб-приложение mvc asp.net core 2.2 (с identityserver4) в ядро asp.net 3.0. Теперь панель навигации по меню не отображается (т. Е. Смена страниц, внешний вход, двухфакторный, смена пароля и т. Д.)
Я что-то не так сделал?
...
..
ConfigureServices
Я заменил
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
на
services.AddControllersWithViews();
services.AddRazorPages();
Настроить
Я заменил
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime lifetime)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseStaticFiles();
app.UseIdentityServer();
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
на
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory, IHostApplicationLifetime lifetime)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseStaticFiles();
app.UseIdentityServer();
app.UseSession();
app.UseAuthorization();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
}
РЕДАКТИРОВАТЬ: это меню отсутствует (после миграции)
ОБНОВЛЕНИЕ: обнаружена проблема, страницы бритвы в разделе «Управление» не загружали корень «_layout». Я исправил это, добавив следующее в _ViewStart
@{
Layout = "_Layout";
}
Хорошо, так почему это так? работать раньше? это странно.