Skip to content

Code-Solidi/CoreXF

Repository files navigation

CoreXF

Live demo here.

Description

CoreXF is a ASP.NET Core eXtensibility Framework. CoreXF is available as two NuGet packages:

  1. CoreXF.Abstractions, in PMC use the command Install-Package CoreXF.Abstractions -Version 3.0.0.
  2. CoreXF.Framework, in PMC use the command Install-Package CoreXF.Framework -Version 3.0.0.

What's new (v3.0.0)

  • Removed rarely used functions from IExtensioin like ConfigureMiddleware.
  • 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

What's new (v2.0.0)

  • Added support for .NET 5.0 in addition to .NET Core 3.1

What's new (v1.1.2)

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.

Getting Started

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 from MvcExtension 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.

Documentation

In preparation, sorry for the inconvenience. Use demos and live demo site till ready.

Demos

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.

Issues

If you've encountered an issue, please post it here. Thank you!

Like CoreXF?

If you like CoreXF please give it a star ⭐.

About

CoreXF is a ASP.NET Core eXtensibility Framework.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages