【发布时间】:2019-06-25 15:58:30
【问题描述】:
我在这段代码中遇到错误,不知道该怎么做。谁能告诉我问题可能是什么以及如何解决它。
错误:
处理请求时发生未处理的异常。 InvalidOperationException:找不到适合类型“Lic.Controllers.EchipamentController”的构造函数。确保类型是具体的,并且为公共构造函数的所有参数注册了服务。
查找适用的构造函数 堆栈查询 Cookie 标头 InvalidOperationException:找不到适合类型“Lic.Controllers.EchipamentController”的构造函数。确保类型是具体的,并且为公共构造函数的所有参数注册了服务。
namespace Licenta.Controllers
{
public class EchipamentController:Controller
{
private readonly ICategoryRepository _categoryRepository;
private readonly IEchipamentRepository _echipamentRepository;
EchipamentController(ICategoryRepository categoryRepository, IEchipamentRepository echipamentRepository)
{
_categoryRepository = categoryRepository;
_echipamentRepository = echipamentRepository;
}
public ViewResult List()
{
var echipamente = _echipamentRepository.Echipamente;
return View(echipamente);
}
}
}
我不知道如何处理该错误。
【问题讨论】:
-
构造函数不公开。
-
您使用的是什么 IOC 容器?你注册你的仓库了吗?
-
@MuhammadAli asp.net mvc。是的,我注册了存储库
-
@madreflection 如果我将构造函数声明为 public,它会说:“不一致的可访问性:参数类型“IEchipamentRepository”比方法“EchipamentController.EchipamentController(ICategoryRepository,IEchipamentRepository)”更难访问
-
这些接口也需要公开。
标签: c# constructor controller