我在Visual Studio 2013中创建了一个默认的MVC5 Web应用程序,并添加到NuGet的StructureMap.MVC5包中。
我创建了一个接口ITester
和一个实现Tester
,我的控制器操作将ITester
作为参数。
但是当我运行项目时,我收到错误Cannot create an instance of an interface
。
根据this应该正常工作。如果我明确告诉structuremap将Tester
用于ITester
(而不是依赖于默认约定),我也会得到相同的结果。
我之前使用StructureMap.MVC4和MVC4 Web应用程序没有任何问题。
答案 0 :(得分:0)
开箱即用它只会进行构造函数注入。
这将有效
public HomeController(ITester tester)
{
_tester = tester;
}
这将导致您看到的错误
public ActionResult Index(ITester tester)
{
return View();
}