Szukając dostępnych opcji dla aplikacji desktopowych z użyciem .net core natrafiłem na Electron.NET. Electron.NET jest połączeniem electron i asp.net core. Niewątpliwym atutuem Electron.NET jest też to, że jest cross-platform. Chciałbym zaorezentować Ci jak łatwo tworzy się przykładowy hello world.
Zacznijmy od zainstalowania Electron.NET tools:
dotnet tool install ElectronNET.CLI -g
Uwórzmy solucję i projekt:
dotnet new sln -n ElectronHelloWorld dotnet new razor -lang C# -n ElectronApplication -o ElectronApplication
Myślę, że nadszedł już najwyższy czas na dodanie biblioteki Electron.NET do naszego projektu:
dotnet add package ElectronNET.API
Teraz musimy wywołać metodę UseElectron
w Program.cs
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseElectron(args); webBuilder.UseStartup<Startup>(); });
Teraz w pliku Startup.cs
w metodzie Configure
na samym końcu dodajmy Task.Run(async () => await Electron.WindowManager.CreateWindowAsync());
Finalnie będzie to wyglądać tak:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); }); Task.Run(async () => await Electron.WindowManager.CreateWindowAsync()); }
W folderze ElectronApplication
wywołaj instrukcję:
electronize init electronize start
Powinieneś zobaczyć nasze hello world:
Myślę, że ta biblioteka na pewno jest jedną z opcji, jaką możesz wybrać, jeśli zamierzasz utworzyć aplikację działającą na windows/linux/macOS.