I have application written in WPF and MVVM and I've used Simple Injector as IoC Container. My main view model has constructor in that I inject bll class:
public MainWindowViewModel(IReviewBodyBLL reviewBodyBLL)
{
this.reviewBodyBLL = reviewBodyBLL;
and this view model is setup in MainWindow:
public partial class MainWindow : Window
{
public MainWindow(MainWindowViewModel viewModel)
{
InitializeComponent();
base.DataContext = viewModel;
and all classes are registered:
container.Register<IFreewayReviewCreatorDbContext, FreewayReviewCreatorDbContext>(Lifestyle.Scoped);
container.Register<IUnitOfWorkFactory, UnitOfWorkFactory>(Lifestyle.Scoped);
container.Register<IUnitOfWork, UnitOfWork>(Lifestyle.Scoped);
container.Register<IReviewBodyBLL, ReviewBodyBLL>(Lifestyle.Transient);
// Register your windows and view models:
container.Register<MainWindow>();
container.Register<MainWindowViewModel>();
and I get error when I try to run application:
Exception thrown: 'SimpleInjector.ActivationException' in SimpleInjector.dll
The program '[28028] FreewayReviewCreator.exe' has exited with code 0 (0x0).
Application stop without any break.
When I remove from main view model constructor IReviewBodyBLL reviewBodyBLL
application start correctly. How to inject bll to the constructor?