Question about Avalonia structure, addon capability and generall seperation of projects
I want to make a small Desktop app using Avalonia, my current structure is:
MyApp.sln contains:
so my approach would be to have a MyApp.SDK (contains the interfaces) which is a seperate project and repository that gets published as a DLL (and NuGet etc etc) and using this I could create MyApp.Exports.SQLite or something, I would have MyApp.Core reference the SDK and have some sort of "addon loader" function that can load MyApp.Exports.SQLite
Is this the correct approach for allowing addons / plugins to be written for my application? I have never done such thing before
MyApp.sln contains:
- MyApp.UI -> for UI stuff only
- MyApp.Core -> for logic
- MyApp.Data -> for data fetching and handling
- MyApp.Test -> for tests of all kinds
so my approach would be to have a MyApp.SDK (contains the interfaces) which is a seperate project and repository that gets published as a DLL (and NuGet etc etc) and using this I could create MyApp.Exports.SQLite or something, I would have MyApp.Core reference the SDK and have some sort of "addon loader" function that can load MyApp.Exports.SQLite
Is this the correct approach for allowing addons / plugins to be written for my application? I have never done such thing before