Каков правильный способ размещения приложения Blazor в приложении WPF?C#

Место общения программистов C#
Anonymous
Каков правильный способ размещения приложения Blazor в приложении WPF?

Сообщение Anonymous »

В настоящее время я работаю над расширением моего приложения WPF с помощью Blazor Web Interface, чтобы позволить пользователям настраивать некоторые настройки через свой браузер. Чтобы достичь этого, я запускаю приложение Blazor Server из моего приложения WPF, используя WebApplicationBuilder .

Код: Выделить всё

WebApplicationBuilder builder = WebApplication.CreateBuilder(new WebApplicationOptions
{
Args = args
});

builder.Services.AddRazorComponents()
.AddInteractiveServerComponents();

_app = builder.Build();

// Configure the HTTP request pipeline.
if (!_app.Environment.IsDevelopment())
{
_app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
_app.UseHsts();
}

_app.UseHttpsRedirection();

_app.UseStaticFiles();
_app.UseAntiforgery();

_app.MapRazorComponents()
.AddInteractiveServerRenderMode();

// Run
await _app.RunAsync(_cancellationTokenSource.Token);
< /code>
С таким подходом приложение Blazor начинается хорошо и успешно загружается. Однако статические (CSS, JS) файлы, включая{project}.styles.css
не загружаются, потому что папка wwwroot не существует в каталоге приложения WPF .
Чтобы исправить это, я обновил webapplicationbuilder , чтобы вручную настроить корневой путь содержимого блазора:

Код: Выделить всё

string path = "Path to blazor project";

WebApplicationBuilder builder = WebApplication.CreateBuilder(new WebApplicationOptions
{
Args = args,
ContentRootPath = path,
WebRootPath = "wwwroot"
});
< /code>
Это изменение позволяет правильно загружать статические файлы из проекта Blazor. Однако,{project}.styles.css
и статические файлы из ссылочных библиотеков классов Razor или Nuget Packages по -прежнему не загружаются, это связано с тем, что в папке wwwroot все еще отсутствует в папке {project} .styles.css и _content . WWWROOT папка со всеми необходимыми файлами. Я обновил свой проект WPF, чтобы он копировал папку WWWROOT из опубликованного приложения Blazor, и теперь все, кажется, работает.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... pplication

Вернуться в «C#»