Трудно понять, что происходит не так, не увидев класс вашего ViewComponent и как вы вызываете компонент представления.
При этом в новом приложении, созданном с dotnet new mvc
(и версией 2.1.3 SDK), работает следующее.
. \ Startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseExceptionHandler("/Home/Error");
app.UseMvcWithDefaultRoute();
}
. \ Views \ Shared \ Components \ FooBar \ Default.cshtml
<p>FooBarViewComponent</p>
. \ Views \ Home \ Index.cshtml
@await Component.InvokeAsync("FooBar")
. \ FooBarViewComponent.cs
public class FooBarViewComponent : ViewComponent {
public async Task<IViewComponentResult> InvokeAsync() {
throw new System.Exception("Exception in FooBar");
await Task.Delay(0);
return View();
}
}
При переходе на домашнюю страницу надежно отображается представление "/ Home / Error".