Live demo here.
CoreXF is a ASP.NET Core eXtensibility Framework. CoreXF is available as two NuGet packages:
- CoreXF.Abstractions, in PMC use the command Install-Package CoreXF.Abstractions -Version 3.0.0.
- CoreXF.Framework, in PMC use the command Install-Package CoreXF.Framework -Version 3.0.0.
- Removed rarely used functions from
IExtensioin
likeConfigureMiddleware
. - Optimized extension loader.
- Extensions can be deployed either using either Visual Studio functionality, or just copying the extension output to a sub-folder in host's extensions folder.
- Support for .NET 5.0 dropped, added support for .NET 6.0.
- Static file providers for each extension, which allows prioritization of all static resources: CSS, JavaScript, images, videos, etc.
- Other minor optimizations
- Added support for .NET 5.0 in addition to .NET Core 3.1
Debugging packages' source code is enabled in latest release (1.1.2.). Just select Tools -> Options -> Debugging -> Symbols in VC2019 and add https://symbols.nuget.org/download/symbols to Symbol file (.pdb) locations. Don't forget to Enable source server support and Enable Source Link support in ... -> Debugging -> General.
Steps to follow:
- Create a ASP.NET MVC (or Web API) project and add CoreXF.Framework NuGet package to it. This is the host application.
- Create a folder in he host app (usually "Extensions") which will contain the extensions.
- Create as many extensions as needed. Add CoreXF.Abstractions to every extension and either implement
IExtension
interface or inherit fromMvcExtension
class. (The class defines some methods and properties and makes the implementation more convenient.) - (For those implementing WebAPI extensions this is the
WebApiExtension
class.) - Either publish the extension (prefered deployment mechanism for MVC extension, esp. if the extension has custom static files - .css, .js, images, etc.), or just copy the output (bin folder) to the corresponding extension folder. The latest is most commonly used for WebAPI extension unless they need to serve something from their web root (usually wwwroot). The easiest way to get started is to examine the demos.
In preparation, sorry for the inconvenience. Use demos and live demo site till ready.
Appart from the demo apps here on GitHub, there's a dedicated live demo here. Source code for the demo can be found here.
NB: v3.0.0 demos replace the old ones and are now hopefully much more helpful, ExtensionBase
simplified (user is no longer forced to use/implement methods thet are not in use anymore).
Also, don't forget to change the locations where MVC demos are published (.Net Core 3.1 and .NET 6) according to the path in your local machine.
If you've encountered an issue, please post it here. Thank you!
If you like CoreXF please give it a star ⭐.