If you request an unbound object from NInject, then the default behaviour is (if a suitable constructor is available) appears to be to create an instance of the appropriate object.
I'd like to disable this behaviour (I had a difficult to debug issue because something was auto-bound instead of picking up my custom binding in a module). This question hints that it is possible, but I'm unable to find the answer from the NInject wiki.
The following is a better, more direct way of removing the
SelfBindingResolver
, without assuming that theDefaultValueBindingResolver
is the only otherIMissingBindingResolver
component:It's possible the
Remove<T, TImplementation>()
method was only added in a recent version of Ninject, but this works for me using Ninject 3.2.2.0.Remove the
SelfBindingResolver
from the kernel components after creation: