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

Inconsistent accessibility parameter type error while Injecting Service to Controller-Constructor

向控制器注入服务时显示错误 "Inconsistent accessibility:parametertype 'IProductRepository' is less accessible than method 'ProductController.ProductController(IProductRepository)'"

Tools/Framework 使用: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

t

引导代码

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){}

使您的 IProductRepository 成为 public 界面。

public interface IProductRepository 
{
  // your properties & methods
}