Free, open source and cross-platform framework for creating modular and extendable web applications based on ASP.NET Core
Let’s Work Together!
Join our team! Let’s create great free software together and for each other!
About the Project
ExtCore allows you to build your web applications from the different independent reusable modules or extensions. Each of these modules or extensions may consist of one or more ASP.NET Core projects and each of these projects may include everything you want as any other ASP.NET Core project. Controllers, view components, views (added as resources and/or precompiled), static content (added as resources) are resolved automatically. These projects may be then added to the web application in two ways: as direct dependencies in project.json (as source code or NuGet packages) or by copying compiled DLLs to the Extensions folder. ExtCore supports both of these options out of the box and at the same time.
Furthermore, any project of the ExtCore-based web application is able to get the implementations or instances of some given type from all the projects (optionally using the predicates for assemblies filtering).
ExtCore has two optional basic extensions: ExtCore.Data and ExtCore.Mvc.
You can use ExtCore.Data extension to have unified approach to working with data and single storage context among all the extensions. Currently it supports Microsoft SQL Server, PostgreSql and SQLite, but it is very easy to add another storage support.
MVC support is provided by ExtCore.Mvc extension. This extension initializes MVC, makes it possible to use controllers, view components, views (added as resources and/or precompiled), static content (added as resources) from other extensions etc.