Приложение Blazor ElectronNET не может загрузить локальный хост ERR_CONNETION_REFUSED

У меня есть приложение, созданное для Windows и OSX с использованием ElectronNET и Blazor. Все работает нормально на моих машинах с Windows, но когда я пытаюсь запустить программное обеспечение на osx, у меня появляется пустой белый экран, а терминал отладки говорит

"(узел:14402) электрон: не удалось загрузить URL-адрес: http://localhost:8002/ с ошибкой: ERR_CONNECTION_REFUSED"

Если я перехожу в строку меню и нажимаю «Обновить», страница загружается, и я получаю другое сообщение.

«предупреждение: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3] не удалось определить порт https для перенаправления».

Я пытался очистить свой проект, удалить папки bin и obj, удалить папку .vs, отключить брандмауэр, настроить хром, проверить прокси и т. д. Пока ничего не сработало, и я не уверен, что делать дальше.

      using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using ElectronNET.API;
using ElectronNET.API.Entities;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddServerSideBlazor().AddCircuitOptions(options => { options.DetailedErrors = true; });
builder.Services.AddDevExpressBlazor();
builder.Services.AddElectron();
builder.Services.Configure<DevExpress.Blazor.Configuration.GlobalOptions>(options => {
    options.BootstrapVersion = DevExpress.Blazor.BootstrapVersion.v5;
});
builder.WebHost.UseWebRoot("wwwroot");
builder.WebHost.UseStaticWebAssets();
builder.WebHost.UseElectron(args);


var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // 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.UseRouting();

var browserWindowOptions = new BrowserWindowOptions
{
    AutoHideMenuBar = true
};

var browserWindow = await Electron.WindowManager.CreateWindowAsync(browserWindowOptions);

app.MapBlazorHub();
app.MapFallbackToPage("/_Host");

app.Run();

1 ответ

изменение этой строки

      var browserWindow = await Electron.WindowManager.CreateWindowAsync(browserWindowOptions);

к этому

      async void CreateWindow()
{
    var window = await Electron.WindowManager.CreateWindowAsync(browserWindowOptions);
    window.OnClosed += () => {
        Electron.App.Quit();
    };
}

исправлена ​​проблема

Другие вопросы по тегам