reblGreen.NetCore.Modules 1.0.0

There is a newer version of this package available.
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
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="reblGreen.NetCore.Modules" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add reblGreen.NetCore.Modules --version 1.0.0
#r "nuget: reblGreen.NetCore.Modules, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .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 429 9/27/2022
1.2.6 672 2/3/2022
1.2.5 283 11/30/2021
1.2.4 342 11/10/2021
1.2.3 303 11/3/2021
1.2.2 317 10/14/2021
1.2.1 312 10/14/2021
1.2.0 317 10/13/2021
1.1.9 327 10/13/2021
1.1.8 318 10/12/2021
1.1.6 345 6/21/2021
1.1.5 292 6/8/2021
1.1.3 403 11/20/2020
1.1.2 448 11/20/2019
1.0.3 451 10/28/2019
1.0.2 467 10/17/2019
1.0.1 487 9/23/2019
1.0.0 549 8/27/2019