Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/i-e-b/mefexperiments

A few quick demo projects showing Dependency injection, run-time dynamic plugins, and hot-swap code using MEF.
https://github.com/i-e-b/mefexperiments

c-sharp demo dynamic-plugins mef old working

Last synced: 3 months ago
JSON representation

A few quick demo projects showing Dependency injection, run-time dynamic plugins, and hot-swap code using MEF.

Awesome Lists containing this project

README

        

MEF Experiments
===============

A few quick demo projects showing Dependency injection, run-time dynamic plugins, and code hot-swapping using MEF.
http://msdn.microsoft.com/en-us/library/dd460648(v=vs.110).aspx

* **Plugin watcher**

A utility class to watch folders for changing plugins of a specific type

* **Simple plugin and IoC demo**

Shows basic use of contract interfaces, plugin implementations, unit testing and
a simple composed application to bring it all together.

* DemoApp
* DemoApp.Contracts
* DemoApp.Unit.Tests
* DemoAppPlugins

* **Live plugin updates**

Using the PluginWatcher to add and remove implementations at run time

* PluginWatcher.App
* PluginWatcher.Contracts
* WatcherPlugin_A

* **Hot code-swap**

Showing a simple way to update an implementation at run time, using the PluginWatcher

* HotSwap.Contracts -- basic upgrade contract and a sample task for the demo
* HotSwap.Greeting.V1 -- first version, configured at startup
* HotSwap.Greeting.V2 -- second version. Drop it's `.dll` file in the running
HotSwapDemo.App's bin/Plugins folder to see an upgrade happen
* HotSwapDemo.App -- an application that does a simple hot code swap