ОБНОВЛЕНИЕ. Пожалуйста, посмотрите мой ответ на ссылку и объяснение решения этой проблемы.
Прежде чем начать, я знаю, что это очень распространенный вопрос, и я использовал Ninject для многих лун без проблем, но теперь он появился, и я не могу понять, исправить. Кроме того, нет, ни один из результатов в Google и SO пока не помог мне.
Итак, рассмотрим следующий бит кода, запущенный очень, очень, очень простой прототип проекта ASP.NET MVC 4 из Visual Studio 2012 на Windows Server 2008 R2:
public class DefaultController : Controller {
    private IGroupPrincipalRepository GroupPrincipalRepository { get; set; }
    [Inject]
    public DefaultController(
        IGroupPrincipalRepository groupPrincipalRepository) {
        this.GroupPrincipalRepository = groupPrincipalRepository;
    }
}
И здесь метод NinjectWebCommon.cs RegisterServices:
kernel.Bind(typeof(IGroupPrincipalRepository)).ToConstructor(
    c =>
        new GroupPrincipalRepository(new PrincipalContext(ContextType.Domain, "?", "?", "?", "?"))).InSingletonScope();
Теперь так работают мои другие проекты, которые используют Ninject (но ASP.NET MVC 3 на .NET 4), и насколько я знаю, это то, что необходимо для того, чтобы все работало. Итак, почему я вдруг получаю No parameterless constructor, определенный для этого объекта. исключения?
UPDATE
Здесь полный файл NinjectWebCommon.cs:
[assembly: WebActivator.PreApplicationStartMethod(typeof(App_Start.NinjectWebCommon), "Start")]
[assembly: WebActivator.ApplicationShutdownMethodAttribute(typeof(App_Start.NinjectWebCommon), "Stop")]
namespace App_Start {
    using System;
    using System.DirectoryServices.AccountManagement;
    using System.Repositories.ActiveDirectory;
    using System.Web;
    using Microsoft.Web.Infrastructure.DynamicModuleHelper;
    using Ninject;
    using Ninject.Web.Common;
    public static class NinjectWebCommon {
        private static readonly Bootstrapper bootstrapper = new Bootstrapper();
        public static void Start() {
            DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
            DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
            bootstrapper.Initialize(CreateKernel);
        }
        public static void Stop() {
            bootstrapper.ShutDown();
        }
        private static IKernel CreateKernel() {
            var kernel = new StandardKernel();
            kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
            kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
            RegisterServices(kernel);
            return kernel;
        }
        private static void RegisterServices(
            IKernel kernel) {
            kernel.Bind(typeof(IGroupPrincipalRepository)).ToConstructor(
                c =>
                    new GroupPrincipalRepository(new PrincipalContext(ContextType.Domain, "", "", "", ""))).InSingletonScope();
        }
    }
}
ОБНОВЛЕНИЕ. Пожалуйста, посмотрите мой ответ на ссылку и объяснение решения этой проблемы.
