Plugin support #602

Closed
opened 2026-01-29 16:43:53 +00:00 by claunia · 1 comment
Owner

Originally created by @gentledepp on GitHub (Nov 23, 2020).

Making an Electron.NET application extensible via plugins would be very interesting.

There seem to be quite a few options for plugin systems on electronjs like this one

However, I did not find anything about Electron.NET.

When publishing an app, all .NET Core stuff seems to be packaged into a single executable (that is about 100MB in size).
What would be your thoughts on a plugin system?

I am especially interested in the way this works with Oqtane which is a CMS starting point for blazor. It provides a plugin system out of the box which loads dlls for the front-end, back-end and js/css stuff from specific folders following a convention-based approach.

There is even nice youtube tutorial on Oqtane module development that shows this off quite well.

While I was not able to create a .NET 5 blazor-based electron app (there is sone IL error thrown when running electronize start, this did work with .NET Core 3.1.
As I get the same error with Oqtane, I assume it is the .NET 5 dependency of it that causes this to fail.

What are your thoughts on this?
Could this be integrated? (I am willing to participate)

Originally created by @gentledepp on GitHub (Nov 23, 2020). Making an Electron.NET application extensible via plugins would be very interesting. There seem to be quite a few options for plugin systems on electronjs like [this one](https://www.npmjs.com/package/electron-plugin) However, I did not find anything about Electron.NET. When publishing an app, all .NET Core stuff seems to be packaged into a single executable (that is about 100MB in size). What would be your thoughts on a plugin system? I am especially interested in the way this works with [Oqtane]() which is a CMS starting point for blazor. It provides a plugin system out of the box which loads dlls for the front-end, back-end and js/css stuff from specific folders following a convention-based approach. There is even nice [youtube tutorial on Oqtane module development](https://www.youtube.com/playlist?list=PLYhXmd7yV0elLNLfQwZBUlM7ZSMYPTZ_f) that shows this off quite well. While I was not able to create a .NET 5 blazor-based electron app (there is sone IL error thrown when running `electronize start`, this did work with .NET Core 3.1. As I get the same error with Oqtane, I assume it is the .NET 5 dependency of it that causes this to fail. What are your thoughts on this? Could this be integrated? (I am willing to participate)
claunia added the Feature label 2026-01-29 16:43:53 +00:00
Author
Owner

@danatcofo commented on GitHub (Jan 12, 2021):

I've got the start of a plugin system using Nate McMaster's plugin package. I've set up my code to cycle through a plugins folder that will discover and load that code based upon naming conventions. I haven't needed to solve the UI portions of it, i.e serving up html and such. but I've developed frameworks for window discovery and control, app/dock/tray menuing (though dock is disabled due to lack of support in ElectronNet at this time)

I don't really think its wise to have this repo become too opinionated on this subject however as plugin systems can be quite divergent.

@danatcofo commented on GitHub (Jan 12, 2021): I've got the start of a plugin system using [Nate McMaster's plugin package](https://www.nuget.org/packages/McMaster.NETCore.Plugins/). I've set up my code to cycle through a `plugins` folder that will discover and load that code based upon naming conventions. I haven't needed to solve the UI portions of it, i.e serving up html and such. but I've developed frameworks for window discovery and control, app/dock/tray menuing (though dock is disabled due to lack of support in ElectronNet at this time) I don't really think its wise to have this repo become too opinionated on this subject however as plugin systems can be quite divergent.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Electron.NET#602