Skip to content

ASP.Net

github-actions[bot] edited this page Oct 15, 2025 · 4 revisions

ASP.NET Core Setup

ASP.NET Core remains the recommended approach for complex web applications with ElectronNET.Core, providing all the benefits of the ASP.NET ecosystem along with enhanced Electron integration.

🛠 System Requirements

See System Requirements.

🚀 Quick Start

1. Create ASP.NET Core Project

Visual Studio

Create a new ASP.NET Core Web App in Visual Studio by selecting New Project and choosing one of the ASP.NET Core project templates.

From the command line

dotnet new webapp -n MyElectronWebApp
cd MyElectronWebApp

2. Install NuGet Packages

Visual Studio

Right-click the solution and select Manage Nuget Packages. Finr and install ElectronNET.Core as well as ElectronNET.Core.AspNet.

From the command line

dotnet add package ElectronNET.Core
dotnet add package ElectronNET.Core.AspNet

Note

The API package is automatically included as a dependency of ElectronNET.Core.

3. Configure Program.cs

Update your Program.cs to enable Electron.NET:

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

public class Program
{
    public static void Main(string[] args)
    {
        var builder = WebApplication.CreateBuilder(args);

        builder.Services.AddRazorPages();

        // Add this line to enable Electron.NET:
        builder.UseElectron(args, ElectronAppReady);

        var app = builder.Build();

        if (!app.Environment.IsDevelopment())
        {
            app.UseExceptionHandler("/Error");
        }
        app.UseStaticFiles();

        app.UseRouting();

        app.UseAuthorization();

        app.MapRazorPages();

        app.Run();
    }

    public static async Task ElectronAppReady()
    {
        var browserWindow = await Electron.WindowManager.CreateWindowAsync(new BrowserWindowOptions { Show = false });

        browserWindow.OnReadyToShow += () => browserWindow.Show();
    }
}

ASP.NET Port

If you want to launch a specific URL, you can retrieve the actual ASP.NET port from the new ElectronNetRuntime static class, for example:

    await browserWindow.WebContents
        .LoadURLAsync($"http://localhost:{ElectronNetRuntime.AspNetWebPort}/mypage.html");

4. Alternative: IWebHostBuilder Setup

For projects using the traditional Startup.cs pattern, please see "Traditional ASP.NET Core" in the Migration Guide.

5. Dependency Injection

ElectronNET.API can be added to your DI container within the Startup class. All of the modules available in Electron will be added as Singletons.

using ElectronNET.API;

public void ConfigureServices(IServiceCollection services)
{
    services.AddElectron();
}

🚀 Next Steps

💡 Benefits of ASP.NET + Electron

Full Web Stack - Use MVC, Razor Pages, Blazor, and all ASP.NET features
Hot Reload - Edit ASP.NET code and see changes instantly
Rich Ecosystem - Access to thousands of ASP.NET packages
Modern Development - Latest C# features and ASP.NET patterns
Scalable Architecture - Build complex, maintainable applications

Clone this wiki locally