I'm currently working on a WP 8.1 app(runtime, not silverlight) and I want to find a IoC container. I'm using Caliburn.Micro, which is great because it's using constructor injection in the view models, but I also have a background agent which can't accces the IoC container from Caliburn.Micro.
In my app, I can do something like this:
...
public MyViewModel(ISyncService syncService, IOtherService otherService)
{
_syncService = syncService;//and so on for all services
}
Or something like this:
var syncService = IoC.Get<ISyncService>();
In my agent, I can't do the same thing, because Caliburn is of no use there, so I'm forced in doing something like this:
var syncService = new SyncService(new AppSettings(), new AuthenticationService(webClient),
new PromotionalMessagesService(webClient)...));
I think you get the point. The ISyncService has 7 services required in the constructor, and each service has more in their ctor. The other downside besides ugly code, is that if I change something in the ctor of a service, I have to update it here everytime.
Do you know any good IoC container for WP 8.1 or maybe you have a better idea for this issue?