我在哪里可以找到 MVC 6 的 IController?

Where can I find IController for MVC 6?

        protected virtual IActionResult InvokeHttp404()
    {
        IController errorController = EngineContext.Current.Resolve<CommonController>();
        var routeData = new RouteData();
        routeData.Values.Add("controller", "Common");
        routeData.Values.Add("action", "PageNotFound");
        errorController.Execute(new RequestContext(HttpContext, routeData));
        return new EmptyResult();
    }

在新的 Microsoft.AspNet.Mvc 中,找不到 IController 并且 Execute 不是 IController 的一部分。

没有 - Controller inherits from ControllerBase

在您的场景中,您需要解析对 CommonController 而非 IController 类型的引用,您可以使用它直接调用您的操作方法。像;

CommonController errorController = EngineContext.Current.Resolve<CommonController>();
errorController.PageNotFound();
return new EmptyResult();