Каков правильный способ размещения приложения 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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