Non-generic Bootstrapper obsolete?

Topics: Bootstrappers & IoC
Mar 24, 2013 at 5:15 AM
Edited Mar 24, 2013 at 5:18 AM
In this changeset, the non-generic Bootstrapper class was marked as obsolete. Why?

I am using the non-generic Bootstrapper for use within a non-Xaml host application as described on the Customizing the Bootstrapper page.
Mar 24, 2013 at 6:48 AM
Edited Mar 24, 2013 at 6:52 AM
Hi,

sorry for the confusion.
Since CM 1.4 the functionality of the bootstrapper is in BootstrapperBase class. The reason was that some users wanted to control when the framework is started. But the documentation wasn't updated to reflect this change.

The inheritance hierarchy looks like this:
BootstrapperBase
  |
  |-- Boostrapper (obsolete)
  |
  |-- Boostrapper<TRootModel>
  |
  |-- PhoneBootstrapperBase
        |
        |-- PhoneBoostrapper
BootstrapperBase and PhoneBootstrapperBase do not call the Start() method in the constructor. So it is up to you to start the framework whenever you want (e.g. to configure the logger before).

Now the Bootstrapper class looks like this:
[Obsolete]
public class Bootstrapper : BootstrapperBase {
    public Bootstrapper(bool useApplication = true) : base(useApplication) {
        Start();
    }
}
What does this mean for non-Xaml host applications:
  • inherit your bootstrapper from BootstrapperBase
  • call Start() (e.g. in the constructor or maybe at some other place, it is a public method)
Mar 24, 2013 at 7:37 PM
Thanks for the clarification!
Apr 10, 2013 at 4:09 AM
I've just hit this issue as well.

Is there a set of release notes I should be reading that describes these changes?

Is there a list of breaking changes?
Sep 25, 2014 at 11:49 AM
This no longer seems to be current. Start is now called Initialize and the generic Bootstrapper<T> is gone.