Caliburn.Micro 2.0.0 reflects a large change to the internal structure of the project. By splitting the code into two components (a portable assembly, and a number of platform specific assemblies) we better allow you to create code that’s dependent upon Caliburn.Micro in Portable Class libraries.
This change does create some breaking API changes, and as well we used the move 2.0.0 to clean up some of API to bring it more into line.
This document will try to outline all the changes you may see updating a project to 2.0.0. It’s currently not exhaustive and will be amended as required.
EventAggregator.Publish
now takes an action to marshal the event. Use EventAggregator.PublishOnUIThread
for the existing behaviour.Message.Attach
should be renamed from clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro
to clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro.Platform
. On WPF if you’re using the xmlns:cm="http://www.caliburnproject.org"
syntax then there’s no change. On WinRT platforms (Windows 8, Windows 8.1 and Windows Phone 8.1) the ` xmlns:cm=”using:Caliburn.Micro”` syntax will continue to work.IResult
uses CoroutineExecutionContext
instead of ActionExecutionContext
.BootstrapperBase.Start
is now called BootstrapperBase.Initialize
BootstrapperBase.Initialize
and CaliburnApplication.Initialize
is now NOT automatically called before the Display*
methods. If you need it to be then call Initialise
from the constructor.BindableCollection<T>
move operations aren’t automatically dispatched to the UI thread.Bind.Model="some-key-string"
is obsolete and should not be used.ViewAware.CacheViews
has been removed, use Views
instead. ViewAware
now uses weak values to hold a reference to the view.Bootstrapper<T>
has been removed. Use BootstrapperBase
and override OnStartup
with a call to DisplayRootViewFor<T>()
instead.PhoneBootstrapper
is now called PhoneBootstrapperBase
.