StructureMap Exception Code: 202 No Default Instance defined for PluginFamily
Where's your bootstrapping for the IConfiguration concrete class?
I.e:
x.For<IConfiguration>().Use<Configuration>();
This problem was fixed by replacing ObjectFactory.Initialize
with ObjectFactory.Configure
and adding the assemblies in my project:
ObjectFactory.Configure(x =>
{
x.Scan(scan =>
{
scan.LookForRegistries();
scan.Assembly("MyAssembly");
scan.Assembly("MyAssembly");
});
});
I was seeing the same error. In my case, I had a typo in the implementation name, so the interface and implementation names did not match.
public class FooTypo : IFoo
Where I should have had:
public class Foo : IFoo
I was getting the same error message, but for a different reason. I had a class Foo that defined two constructors like so:
public class Foo : IFoo
{
private Bar _bar;
public Foo()
{
_bar = new Bar();
}
public Foo(Bar bar)
{
_bar = bar;
}
}
and my StructureMap configuration was like so:
For<IFoo>.Use<Foo>();
I kept getting an error message like
202 No Default Instance defined for Bar
The problem was that StructureMap was trying to construct a Foo using the constructor that takes a parameter, instead of using the parameterless default constructor. I solved it using the answer in How to define a default constructor by code using StructureMap? like so:
For<IFoo>.Use(() => new Foo());