Да.Можно запустить клиентскую страницу Blazor на странице ASP.NET MVC Core.
Это просто потому, что на стороне клиента Blazor похоже на приложение React в приложении MVC Core.Это совершенно разные вещи.Клиентский Blazor работает в браузере.Это означает, что MVC создает HTML-страницу, которая запускает Client Blazor таким же образом, как MVC создает HTML-страницу для запуска приложения React.Просто добавьте некоторую магию, специфичную для фреймворка.
Для Blazor это означает добавление как минимум.
<app>Loading...</app>
<script src="_framework/blazor.webassembly.js"></script>
и кода на сервер.
app.UseClientSideBlazorFiles<Client.Startup>();
app.UseEndpoints(endpoints =>
{
// ...
endpoints.MapFallbackToClientSideBlazor<Client.Startup>("index.html");
});
Microsoft называет эту модель вшаблоны как Hosted Blazor.
Поскольку MVC выполняется на сервере, единственный способ запустить код Blazor как часть инфраструктуры MVC - это использовать Blazor на стороне сервера, поскольку он должен выполняться на сервере.Опять же, поскольку MVC выполняется на сервере.
Если вы действительно хотите запустить Blazor как часть приложения MVC, то вам следует опубликовать автономное приложение Client Blazor и рассматривать вывод как некоторую библиотеку JS, которую вы должны обслуживать, используязначит стандартный MVC, и внедрить в страницу как-нибудь.Это все еще выполнимо, но ты сам по себе.