{"id":25638509,"url":"https://github.com/marfusios/mkpluginssystem","last_synced_at":"2026-06-15T02:33:22.054Z","repository":{"id":20939046,"uuid":"24227385","full_name":"Marfusios/MKPluginsSystem","owner":"Marfusios","description":"Example of plugins system in the .NET world.","archived":false,"fork":false,"pushed_at":"2014-09-19T21:41:32.000Z","size":328,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-04-10T14:49:41.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Marfusios.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-19T11:26:47.000Z","updated_at":"2015-05-17T14:07:06.000Z","dependencies_parsed_at":"2022-08-05T11:00:07.559Z","dependency_job_id":null,"html_url":"https://github.com/Marfusios/MKPluginsSystem","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marfusios%2FMKPluginsSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marfusios%2FMKPluginsSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marfusios%2FMKPluginsSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marfusios%2FMKPluginsSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Marfusios","download_url":"https://codeload.github.com/Marfusios/MKPluginsSystem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240261102,"owners_count":19773437,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-23T02:31:42.059Z","updated_at":"2026-06-15T02:33:17.033Z","avatar_url":"https://github.com/Marfusios.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"MKPluginsSystem\n===============\n\nSimple example of plugins system in the .NET world. \nEvery plugin is loaded in separate AppDomain. So you are able to modify plugins at application runtime (very useful on server side).\n\nHow to use:\n- In your project add a reference to `PluginsCore` and `PluginsHost` \n- Create your plugins which inherit from `PluginBase`, put them into separate assembly and set build output path to directory \"Plugins\" \n- Use `PluginCollection` to load plugins by name \n- Create parental class that implement interface `IParentPlugin` (see class `FakeHost` in unit tests assembly) \n- Call method `Init` on every loaded plugin (constructor takes `IParentPlugin`) \n\n**Check the `WinApp` project (fully MVVM application)** or **check the unit tests** for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarfusios%2Fmkpluginssystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarfusios%2Fmkpluginssystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarfusios%2Fmkpluginssystem/lists"}