// the find
ElectronNET/Electron.NET
:electron: Build cross platform desktop apps with ASP.NET Core (Razor Pages, MVC, Blazor).
Electron.NET wraps the Electron desktop shell so .NET developers can build native desktop apps using ASP.NET Core, Blazor, or plain console apps as the backend. The C#/.NET side communicates with the Electron process over a Socket.IO bridge, giving you access to native OS APIs (menus, tray, dialogs, notifications) from C# code. It's for .NET teams who want desktop distribution without learning JavaScript or rewriting their existing web UI.
The recent ElectronNET.Core rewrite cleaned up the launch-order problem that plagued the original — you can now have either .NET or Electron start first, which matters for packaging and installer behavior. Blazor support is first-class and the `IsRunningBlazor` flag handles the quirks of Blazor's resource loading in an Electron renderer. The API surface is genuinely wide: menus, tray, auto-updater, global shortcuts, print-to-PDF, cookies — most of what a real desktop app needs is covered. Build tooling uses Nuke, CI is thorough with integration tests and retry jobs, and there are actual publish profiles for win-x64 and linux-x64.
The Socket.IO bridge between .NET and the Electron main process is a latency and reliability tax on every native API call — every window creation, dialog open, or menu update crosses a process boundary over a local socket. If that bridge drops, your app's native layer goes silent. Bundled app size is rough: you're shipping a full Chromium and a full .NET runtime, so expect 150-250MB installers. The auto-updater binding is thin — it wraps electron-builder's updater but any nuance around staged rollouts or delta updates requires dropping down to electron-builder config directly, which the docs barely cover. Documentation still points to a YouTube video that's explicitly noted as partially outdated, which is a bad sign for a project that just did a 'complete rethinking'.