Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lamondlu/CoolCat
A sample about how to create a dynamic plugins mechanism with ASP.NET Core Mvc at runtime. This sample is based on .NET Core 3.1 and .NET 5
https://github.com/lamondlu/CoolCat
asp-net-core asp-net-core-mvc docker docker-compose dynamic-plugins plugin-architecture
Last synced: 2 months ago
JSON representation
A sample about how to create a dynamic plugins mechanism with ASP.NET Core Mvc at runtime. This sample is based on .NET Core 3.1 and .NET 5
- Host: GitHub
- URL: https://github.com/lamondlu/CoolCat
- Owner: lamondlu
- Created: 2019-07-04T13:18:38.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T07:37:22.000Z (about 2 years ago)
- Last Synced: 2023-10-20T21:08:39.146Z (over 1 year ago)
- Topics: asp-net-core, asp-net-core-mvc, docker, docker-compose, dynamic-plugins, plugin-architecture
- Language: C#
- Homepage: https://www.cnblogs.com/lwqlun/p/11343141.html
- Size: 7.23 MB
- Stars: 325
- Watchers: 12
- Forks: 89
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![](./doc/images/logo_small.png)
# CoolCat
A sample about how to create a dynamic plugins mechanism with ASP.NET Core Mvc based on the AssemblyLoadContext.This whole project is built under .NET Core 3.1 and .NET 5.
## What i will do and what i will not do
I want to build a runtime plugin mechanism based on .NET Core 3.1 and .NET 5. Each plugin will be isolated by a custom AssemlyLoadContext. So the framework allow you to reference same library with different version.![](./doc/images/load_way.png)
## Getting Started
- Clone the source code
- Run `docker-compose up`
- Install the pre-set modules
![](./doc/images/20200726215825.png)
- Start to use the system## How to create and publish a plugin
- Run `dotnet new -i CoolCatModule`, it will install the CoolCatModule on your machine
- Run `dotnet new CoolCatModule -n {your plugin name}`
- Build the plugin with VisualStudio 2019 or `dotnet publish`
- Package the release files into a zip package