2

このコードで mvc で SimpleInjector を使用します

public static class SimpleInjectorInitializer
{
    public static void Initialize()
    {
        var container = new Container();
        InitializeContainer(container);
        container.RegisterMvcControllers(Assembly.GetExecutingAssembly());
        container.Verify();
        DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(container));
    }

    private static void InitializeContainer(Container container)
    {
        container.Register<IPersonRepository, PersonEntityRepository>();
    }
}

しかし今、mvc アプリケーションでLightInject Ioc をテストしたいのですが、どうすればよいでしょうか?

私はこのコードを書きました

[assembly: WebActivator.PostApplicationStartMethod(typeof(LightInjectInitializer), "InitializeLI")]

public static class LightInjectInitializer
{
    public static void InitializeLI()
    {
        var container = new ServiceContainer();            
        InitializeContainer(container);
        container.RegisterControllers(Assembly.GetExecutingAssembly());
        container.EnableMvc();
    }

    private static void InitializeContainer(ServiceContainer container)
    {
        container.Register(typeof(PersonEntityRepository), typeof(IPersonRepository), new PerScopeLifetime());

    }
}

ここに画像の説明を入力

しかし、このエラーを見せてください

No parameterless constructor defined for this object. 

MVC で動作する同等のコードを書くのを手伝ってくれる人はいますか?

サンプルコード: ダウンロード

4

2 に答える 2