MVCContrib 0.0.1.91 使用 Castle Windsor 時,WindsorControllerFactory 擲出「No component for key Home was found」。
下載原始碼,修改 WindsorControllerFactory.cs 第 34 行 CreateController:
public IController CreateController(RequestContext context, string controllerName) {
controllerName = controllerName + "Controller"; // 關鍵修正
IWindsorContainer container = GetContainer(context);
return (IController)container.Resolve(controllerName);
}
原因:容器註冊時鍵值為「HomeController」,但傳入僅「Home」,補上後綴即可解析。