Ninject «Для этого объекта не определен конструктор без параметров».

Я тестирую Ninject, но, следуя инструкциям, я не могу заставить его работать. Информация в Интернете такая грязная, даже противоречивая. Я'Я разработал веб-сайт в MVC 4 на Visual Studio 2012, и я установил Ninject с помощью Nuget.

Поэтому я получаю сообщение об ошибке:Для этого объекта не определен конструктор без параметров. ", Как только я войду в свой контроллер.

Я сделал необходимые шаги:

Установка Nugetв NinjectWebCommon.cs я зарегистрировал свой интерфейс в методе RegisterServices.

В моем домашнем контроллере я установил свой объект так:

public  ISurvey _survey { get; set; }

[Inject]
public HomeController(ISurvey s)
{
    _survey = s;
}

И я получаю следующее сообщение об ошибке:

Server Error in '/' Application.

No parameterless constructor defined for this object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.MissingMethodException: No parameterless constructor defined for this object.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[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) +110

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

Вот и мне интересно, что я сделал не так? Через 4 часа я обнаружил, что может быть проблема с моим файлом web.config или что это может быть ссылка отсутствует или фабрика отсутствует. Прямо сейчас я неЯ даже не знаю, что делать. Спасибо за вашу помощь.

Ответы на вопрос(2)

Ваш ответ на вопрос