NuGet based extensibility system for netcore apps.
Branch | Status |
---|---|
master | |
develop |
-
Install NuGet Package StoneAssemblies.Extensibility in your application.
-
Add a configuration section like this:
{ "Extensions": { "Sources": [ { "Uri": "%PRIVATE_REPO_URL%", "Username": "%USERNAME%", "Password": "%PASSWORD%" }, { "Uri": "https://api.nuget.org/v3/index.json", "Searchable": "false" } ], "Packages" ["%PACKAGE_NAME%:%PACKAGE_VERSION%", "..."] } }
-
Create a class library.
-
By convention, the extensibility runtime looks for a class named
Startup
to execute the plugin initialization. TheStartup
class should look like this:public class Startup { public Startup(IConfiguration configuration) { this.Configuration = configuration; } public IConfiguration Configuration { get; } public void ConfigureServices(IServiceCollection serviceCollection) { // TODO: Register plugin service here!! } }
-
Pack and publish the class library as NuGet package in a public or private registry.