github.com/yiyungent/PluginCore ↗
🔌 ASP.NET Core lightweight plugin framework | ASP.NET Core 轻量级 插件框架 - 一分钟集成 | Vue.js frontend | JavaScript SDK
Open this visualization on its own page →
Contributors
1
Lines of Code
1,719
From
2021-08-07
To
2022-04-27
About yiyungent/PluginCore
PluginCore is a lightweight plugin framework for ASP.NET Core that enables developers to build extensible applications with minimal configuration. It allows plugins to be uploaded, installed, enabled, disabled, and uninstalled at runtime without restarting the application. The framework supports dynamic WebAPI generation where each plugin can add its own controllers and routing, complete plugin isolation with type sharing, and dependency injection throughout the plugin lifecycle.
The framework provides both backend and frontend components, with a Vue.js-based admin interface for managing plugins and a JavaScript SDK for frontend widget injection. Plugins can include static frontend files served directly from their wwwroot folders, and the system supports custom plugin hooks that applications can invoke to trigger functionality across all enabled plugins that implement specific interfaces. Additional features include plugin dependency trees for automatic load ordering, hot-swappable HTTP middleware addition at runtime, and modular architecture allowing implementation replacement for customization.
PluginCore requires minimal external dependencies, relying only on SharpZipLib for decompression, and imposes nearly zero intrusion on existing systems. It includes comprehensive internationalization support through i18n, requires no database, and can be integrated in as little as two lines of code. The project is distributed via NuGet packages and includes Docker examples and templates for rapid plugin development. An online demo instance based on the KnifeHub project showcases real-world implementation of the framework.