When you ask Unity to resolve a type with multiple constructors, by default it picks the constructor with the most parameters, to facilitate maximum dependency injection.
Richard Blewett has a good post on specifying a different constuctor in config, but it doesn’t cover the scenario when the constructor you want is the default, parameterless constructor.
The documentation is a bit lacking, although the config is logical -here’s how it looks:
<unity>
<containers>
<container>
<types>
<typetype=“x.y.z.Spec.IInterface,x.y.z“
mapTo=“x.y.z.Impl.Implementation,x.y.z“>
<constructor/> <!– force use of default constructor –>
</type>
</types>
</container>
</containers>
</unity>