electron 如何在不启动.cs的情况下配置Program.cs?.NET 6.0

2skhul33  于 2022-12-16  发布在  Electron
关注(0)|答案(1)|浏览(219)

Electron.NET中的说明指示将以下代码段添加到我的. NET6项目中,以便运行Electron。
添加到程序.cs:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseElectron(args);
            webBuilder.UseStartup<Startup>();
        });

添加到启动.cs:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    ...

    // Open the Electron-Window here
    Task.Run(async () => await Electron.WindowManager.CreateWindowAsync());
}

由于不再有Startup.cs文件,如何将此代码转换为可用于现代Program.cs文件的状态?
显然,这并不像把所有的代码放进一个现代的Program.cs文件那么简单。我搜索了谷歌来寻找这个问题的答案,但没有找到任何答案。我还浏览了github存储库和电子网站中的文档。我没有经验自己解决这个问题,希望得到一些帮助。

vd8tlhqk

vd8tlhqk1#

这对我很有效:
Program.cs

using ElectronNET.API;
using ElectronNET.API.Entities;

namespace tests;

public class Program
{
    public static async Task Main(string[] args)
    {
        var builder = WebApplication.CreateBuilder(args);
        builder.Services.AddElectron();
        builder.WebHost.UseElectron(args);

        if (HybridSupport.IsElectronActive)
        {
            var window = await Electron.WindowManager.CreateWindowAsync(
                new BrowserWindowOptions
                {
                    Width = 500,
                    Height = 250
                });

            window.OnClosed += () =>
            {
                Electron.App.Quit();
            };
        }
    }
}

先决条件

  • .NET 6语言
  • 已安装.NET 5框架(至少在运行时)
  • 已安装节点(对于npm)
  • VS以管理员身份运行(撰写本文时我正在运行2022)
  • 已安装电子API nuget套件
  • 已安装电子CLI(dotnetool)
    结果

相关问题