5.3.0.313
Due to this bug fix sequence of steps during building of objects has changed. Previously strategies were called in this order:
...
TypeMapping,
Lifetime,
PreCreation,
...
Now Lifetime and TypeMapping where reversed and Lifetime is called first. Here is the modified UnityBuildStage
public enum UnityBuildStage
{
/// <summary>
/// First stage. By default, nothing happens here.
/// </summary>
Setup,
/// <summary>
/// Third stage. lifetime managers are checked here,
/// and if they're available the rest of the pipeline is skipped.
/// </summary>
Lifetime,
/// <summary>
/// Second stage. Type mapping occurs here.
/// </summary>
TypeMapping,
/// <summary>
/// Fourth stage. Reflection over constructors, properties, etc. is
/// performed here.
/// </summary>
PreCreation,
/// <summary>
/// Fifth stage. Instance creation happens here.
/// </summary>
Creation,
/// <summary>
/// Sixth stage. Property sets and method injection happens here.
/// </summary>
Initialization,
/// <summary>
/// Seventh and final stage. By default, nothing happens here.
/// </summary>
PostInitialization
}
This change should not affect casual users of the container. Developers of Extensions that rely on this sequence of stages should verify if the change might have broken the extension.