weikio / PluginFramework

Everything is a Plugin in .NET
MIT License
539 stars 101 forks source link

Hot reload with .net 6? #45

Open aloksharma1 opened 3 years ago

aloksharma1 commented 3 years ago

Hi,

now that .net 6 is already here is the functionality going to improve with hot reload and runtime unloading/reloading of plugins without restarting the application. with net 6 the multiplatform android,ios,mac etc support is also given by microsoft with blazor and all. whats the plan for this next update, what i am after is basically just blazor & hot reload currently.

thanks for such an awesome work

mikoskinen commented 3 years ago

Thank you for the good question and sorry for the long delay in getting back to you. The better support for runtime unloading & updating & reloading is something which is planned to the version 2.0.

We're not yet sure how hot reload is going to affect things as that feature is currently targeted more for as a development time UI feature, allowing you to actively see the changes when you write XAML/Razor etc. That's at least our interpretation of hot reload for now.

aloksharma1 commented 3 years ago

thanks for the reply, There are other plugin libraries that are giving feature of runtime unloading & reload. This is useful in plugin scenario as this enables changes to happen without pushing a big application to a complete restart cycle, where you will loos all your user sessions or other states you were maintaining with signalR or similar cases, think of a case where you just want to update a plugin based social login feature or a payment gateway without taking the whole site down... when you just want to change a small feature. I hope you got my point. regards

HybridSolutions commented 2 years ago

@aloksharma1 can you share the other plugin libraries you've tried? Thanks!

aloksharma1 commented 2 years ago

@HybridSolutions sure you can find one here https://github.com/natemcmaster/DotNetCorePlugins, i found it pretty useful in my projects. although i had to customize a bit of code it was easy to implement with what was already provided out of box.