Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
Contracts
Logic.V1
Logic.V2
Shell
MEFLiveUpdateExample.sln
README.md
SignatureKey.snk

README.md

##MEFLiveUpdateExample

Sample is used to demonstrate how an assembly can be loaded while the application is already running.
To make this sample work you need to follow these steps.

  • Compile solution in Visual Studio
  • Go to newly created solution subfolder Output\Debug
  • Start Shell.exe from folder Application
  • A plain WPF will open that shows V1
  • Leave application open and run ExecuteUpdate.bat
  • Window content will change from V1 and show V2 instead
  • Clicking on the Throw Exception will trigger an exception to demonstrate the fallback to the previous Version. It will automatically switch back to V1 window content.

This is a rudimentary demonstration how it can be done to dynamically load new assembly versions at run time. There are still some issues that need to be resolved in future.

TODOs

  • Unload old assembly versions from application