Ligação Ninject com repositório genérico MVC retorna erro no Construtor Sem Parâmetro

Eu estou tentando usar um repositório genérico bastante simples para um número de listas de administração em um aplicativo. Funcionalidade para os usuários admin é apenas CRUD para manter as listas atualizadas para uso em outros lugares como pesquisas.

Eu continuo recebendo um erro do formulário:

Ocorreu um erro ao tentar criar um controlador do tipo 'WhatWorks.Controllers.AchievementController'. Certifique-se de que o controlador tenha um construtor público sem parâmetros.

Eu li uma quantidade enorme de posts sobre SO e blogs encontrados através do Google, mas não consigo encontrar uma resposta (pelo menos nada que faça sentido para mim como uma resposta que pode ser outro problema ...)

Meu código é o seguinte:

Controlador

public class AchievementController : BootstrapBaseController
{
    private readonly IAdminRepository<tAchievement> _repo;

    public AchievementController(IAdminRepository<tAchievement> _repo)
    {
        this._repo = _repo;
    }

ViewModel

public partial class AchievementListViewModel
{
    public int Id { get; set; }
    public string achievement { get; set; }
}

Interface

public interface IAdminRepository<TEntity> : IDisposable 
                    where TEntity : class                            
{
    IEnumerable<TEntity> Get();
    TEntity GetByID(int id);
    void Insert(TEntity entity);
    void Delete(TEntity entity);
    void Update(TEntity entity);
    void Save();
}

Repositório

public class AdminRepository<T> : IAdminRepository<T>
                        where T : class
    {
        private WhatWorksEntities objContext;

        public AdminRepository()
        {
            objContext = new WhatWorksEntities();
        }

        public IEnumerable<T> Get()
        {
            return objContext.Set<T>().ToList();
        }

        etc.

Obrigatório

kernel.Bind(typeof(IAdminRepository<>)).To(typeof(AdminRepository<>));

Eu também tentei ligar com uma linha adicional sem efeito:

kernel.Bind<IAdminRepository<tAchievement>>().To<AdminRepository<tAchievement>>();

Estou supondo que estou sentindo falta de algo simples.

Eu tenho Ninject, Ninject.Web.MVC e Ninject.Web.Common nas minhas referências - todas tiradas do NuGet.

O rastreamento de pilha é o seguinte:

[MissingMethodException: No parameterless constructor defined for this object.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +113
   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +232
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +83
   System.Activator.CreateInstance(Type type) +6
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +55

[InvalidOperationException: An error occurred when trying to create a controller of type 'WhatWorks.Controllers.AchievementController'. Make sure that the controller has a parameterless public constructor.]
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +179
   System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) +80
   System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +74
   System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) +197
   System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +49
   System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +50
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +301
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

_____________EDIT com resposta parcial_____________

Tendo recriado um projeto do zero e atingido o mesmo erro, notei que as versões de alguns dos pacotes adicionais que eu estava usando mudaram. Eu estou usando o "Twitter Bootstrap para MVC" por Eric Hexter como meu principal display e isso está puxando em uma versão posterior do Twitter Bootstrap que eu usei anteriormente. Não tenho certeza se isso está causando o problema, mas o layout das pastas em um projeto de trabalho mais antigo é diferente do novo.

Esta resposta me deu um ponteiro decente depois dos comentários de Trevor Pilley:Ninject + MVC3 não está injetando no controlador

No meu projeto de trabalho mais antigo, o seguinte estava no arquivo Web.config, mas não no novo projeto. Se eu adicioná-lo, o código funciona, mas ainda há um problema com o layout do Twitter Bootstrap - provavelmente dos novos arquivos .css - deixarei a pergunta aberta para o caso de alguém poder melhorar isso como uma resposta.

(A tag de fechamento do Entity Framework foi deixada em para mostrar o local no Web.config)

  </entityFramework>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

_________EDIT global.asax ______________________

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BootstrapSupport.BootstrapBundleConfig.RegisterBundles(System.Web.Optimization.BundleTable.Bundles);
        WhatWorksRouteConfig.RegisterRoutes(RouteTable.Routes);
        AutoMapperConfiguration.Configure();
    }
}

questionAnswers(1)

yourAnswerToTheQuestion