Hallo
bei meinem aktuellen Projekt habe ich versucht, meine Anwendung mit StructureMap zu entkoppeln. Soweit funktioniert auch alles ganz gut. Habe mehrere DLLs und ein ASP.NET MVC Projekt.
Nun zu meinem Problem:
Habe vor kurzem noch ein neues Projekt (Windows Service) hinzugenommen, welches ebenfalls Funktionalitäten aus den DLLs per StructureMap nutzen soll.
public partial class MyService : ServiceBase
{
private IEmailSender _emailSender;
public MyService()
{
this.InitializeComponent();
ConfigureStructureMap();
this._emailSender = ObjectFactory.GetInstance<IEmailSender>();
}
public static void ConfigureStructureMap()
{
ObjectFactory.Initialize(x =>
{
x.AddRegistry(new MyApplicationRegistry());
});
}
public class MyApplicationRegistry : Registry
{
public MyApplicationRegistry()
{
Scan(assemblyScanner =>
{
assemblyScanner.TheCallingAssembly();
assemblyScanner.WithDefaultConventions();
});
}
}
}
Im MVC Projekt funktioniert dieser Aufruf:
this._emailSender = ObjectFactory.GetInstance<IEmailSender>();
Im Windows Service kommt folgenden Fehlermeldung:
StructureMap Exception Code: 202
No Default Instance defined for PluginFamily XXX.Service.IEmailSender, XXX.Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Die “StructureMap.config” ist ebenfalls eingebunden.
Ich weiß einfach nicht mehr weiter. Bin für jeden Hinweis/Link dankbar.