two controllers with same RoutePrefix, using current LearningControllerSelector will throw an null reference exception, because of the routeData.Values["controller"] is null.
According to this answer, I changed the SelectController(), and named all my controllers using naming convension ...V1(2 and etc)Controller , now it can find correct controller