向Controller-Constructor注入服务时,可访问性参数类型错误不一致

afs*_*sha 2 asp.net-mvc inversion-of-control asp.net-mvc-4

向控制器注入服务时显示错误"不一致的可访问性:参数类型'IProductRepository'不如方法'ProductController.ProductController(IProductRepository)'"

使用的工具/框架:visualstudio_2015,mvc 4.6和unity_Container_4

我对这个"IoC"很新,我想我错过了一些东西

错误代码

private IProductRepository _IobjProductRepository;
//error shown in this code part
 Injecting Service to Controller shows error -->
public ProductController(IProductRepository Repository)
 { _IobjProductRepository = Repository;} 
 <--error shown in this code par
Run Code Online (Sandbox Code Playgroud)

Ť

BootStrapcode

private static IUnityContainer BuildUnityContainer()
    {
      var container = new UnityContainer();
      container.RegisterType<IProductRepository,ProductRepository>();
      container.RegisterType<IController,ProductController>();
            // register all your components with the container here
            // it is NOT necessary to register your controllers

            // e.g. container.RegisterType<ITestService, TestService>();  
            // MvcUnityContainer.Container = container;

            RegisterTypes(container);  
            return container;
    }
    public static void RegisterTypes(IUnityContainer container){}
Run Code Online (Sandbox Code Playgroud)

dan*_*dan 10

建立IProductRepository一个公共界面.

public interface IProductRepository 
{
  // your properties & methods
}
Run Code Online (Sandbox Code Playgroud)