Cocktail 2010 + Caliburn.Micro 1.5.2 crashes


I've just started a new application. On my WPF client I added with NuGet Cocktail 2010 which has a dependency on Caliburn.Micro v1.5.1 (greater or equal). So Nuget installed the latest version of Caliburn.Micro which is 1.5.2.
Unfortunately this combination doesn't work: during the initialization of Bootstrapper I get error System.MissingMethodException: Method not found: 'Void Caliburn.Micro.BootstrapperBase.DisplayRootViewFor(System.Type)' and the stack trace is:
at Cocktail.FrameworkBootstrapper1.<OnStartup>b__0()
at Cocktail.FrameworkBootstrapper.WhenCompleted(Action completedAction)
at Cocktail.FrameworkBootstrapper
1.OnStartup(Object sender, StartupEventArgs e)
at SOS.Client.App.OnStartup(StartupEventArgs e) in d:_Projects\SOS\SOS2\Client\SOS.Client\App.xaml.cs:line 22
at System.Windows.Application.<.ctor>b__1(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

I looked into the dll of Caliburn.Micro v1.5.2 and there is a method DisplayRootViewFor but with two arguments, the second one having a default value.

I guess Cocktail.FrameworkBootstrapper`1.<OnStartup>b__0() looks for DisplayRootViewFor() method through reflection and having 1 parameter and throws the above exception.

Could you fix this?


marcelgood wrote Aug 8, 2013 at 5:23 PM

Cocktail v1.5.2 introduced a breaking change in violation of the semantic versioning rules. It should have become v1.6 to properly indicate the breaking change. We will fix it in the next release of Cocktail 2010. The issue is fixed in the latest version of Cocktail 2012 already in case you want to consider an upgrade.

marcelgood wrote Aug 8, 2013 at 5:24 PM

Sorry, I meant Caliburn.Micro v1.5.2

wrote Aug 14, 2013 at 11:25 PM