reblGreen.NetCore.Modules
1.0.0
See the version list below for details.
dotnet add package reblGreen.NetCore.Modules --version 1.0.0
NuGet\Install-Package reblGreen.NetCore.Modules -Version 1.0.0
<PackageReference Include="reblGreen.NetCore.Modules" Version="1.0.0" />
paket add reblGreen.NetCore.Modules --version 1.0.0
#r "nuget: reblGreen.NetCore.Modules, 1.0.0"
// Install reblGreen.NetCore.Modules as a Cake Addin #addin nuget:?package=reblGreen.NetCore.Modules&version=1.0.0 // Install reblGreen.NetCore.Modules as a Cake Tool #tool nuget:?package=reblGreen.NetCore.Modules&version=1.0.0
reblGreen.NetCore.Modules
An MIT license .NET Core 2.0 C# Class Library which offers an open-source system for creating event driven modular (plugin based) applications. reblGreen.NetCore.Modules was started as a sample project I put together which demonstrated an implementation of Microsoft .NET Managed Extensibility Framework (MEF) which is included in .NET Framework since version 4.0 but is also available as an external component at codeplex. This project was to demonstrate the benifits of a strict modular design pattern for complex applications to my peers
Although the project was built using MEF, not many elements of MEF were are actually used in this project. In fact MEF was mostly just used to load the modules and import the ModuleHost into each module, instead of rolling our own Reflection based loader. Since porting the project over to .NET Core removing MEF in favor of Reflection was required. It has since grown into an advanced framework designed to simplify building cross-platform plugin-based applications using C# and platforms which support .NET Core class libraries. We use this framework as the groundwork for many client projects.
The aim of reblGreen.NetCore.Modules project is to make building plugin based applications as simple as possible with all the hard work done by the reblGreen.NetCore.Modules library.
What and why is reblGreen.NetCore.Modules?
- reblGreen.NetCore.Modules is a simple, clean and compact .NET Core 2.0 class library for making plugin based applications.
The reblGreen.NetCore.Modules project exists due to a closed source plugin based project which is in development at my workplace. I originally wrote the reblGreen.NetCore.Modules library to be used as part of this project but as I wrote reblGreen.NetCore.Modules in my own time, out of work hours and on my own computer, and it is a self contained library, I decided to open-source it for anyone who wishes to use it in their own projects.
How do I get set up?
Check out the reblGreen.NetCore.Modules.ChatModule project in the source code. This project shows the basic implementation of a Module in the form of a late 1900s style chatbot. There is also a basic ModuleHost for loading modules and handling events. There are no other dependency requirements in this project to keep it simple. When using reblGreen.NetCore.Modules in production I prefer to keep modules and corresponding events is seperate class libraries, but in this case for simplicity the ChatModule module, its corresponding ChatModuleEvent and a BasicModuleHost are contained in a single project.
The project and example are well documented and should be self explanatory but if you get stuck or have any questions, please contact me and I'll be glad to help out.
Contribution guidelines
- Fork reblGreen.NetCore.Modules, make some changes, make a pull request. Simple!
- Code will be reviewed when a pull request is made.
Who do I talk to?
- reblGreen.NetCore.Modules repo owner.
License
- The MIT License (MIT) - Do with it what you will.
- If you do use reblGreen.NetCore.Modules in your own project I would love to hear about it so drop me a line (and even a credit to reblGreen.NetCore.Modules in your project if you feel like being really nice).
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 is compatible. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
-
.NETCoreApp 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.7 | 468 | 9/27/2022 |
1.2.6 | 698 | 2/3/2022 |
1.2.5 | 307 | 11/30/2021 |
1.2.4 | 361 | 11/10/2021 |
1.2.3 | 325 | 11/3/2021 |
1.2.2 | 338 | 10/14/2021 |
1.2.1 | 336 | 10/14/2021 |
1.2.0 | 339 | 10/13/2021 |
1.1.9 | 351 | 10/13/2021 |
1.1.8 | 341 | 10/12/2021 |
1.1.6 | 367 | 6/21/2021 |
1.1.5 | 319 | 6/8/2021 |
1.1.3 | 428 | 11/20/2020 |
1.1.2 | 473 | 11/20/2019 |
1.0.3 | 474 | 10/28/2019 |
1.0.2 | 495 | 10/17/2019 |
1.0.1 | 515 | 9/23/2019 |
1.0.0 | 575 | 8/27/2019 |