Почему Castle Windsor MVC не работает на сервере?

#c# #asp.net-mvc #castle-windsor

#c# #asp.net-mvc #castle-Windsor

Вопрос:

Я добавил пакет Castle Windsor MVC в свой проект для облегчения DI. Отлично работает на моем локальном компьютере. Но когда я развертываю на сервере, я получаю это на странице:

Для этого объекта не определен конструктор без параметров. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.missingmethod исключение: для этого объекта не определен конструктор без параметров.

Ошибка источника:

Необработанное исключение было сгенерировано во время выполнения текущего веб-запроса. Информацию о происхождении и местоположении исключения можно определить с помощью трассировки стека исключений, приведенной ниже.

Трассировка стека:

[Исключение missingmethod: для этого объекта не определен конструктор без параметров.] System.RuntimeTypeHandle.CreateInstance(тип RuntimeType, Boolean publicOnly, boolean noCheck, Booleanamp; canBeCached, RuntimeMethodHandleInternalamp; ctor, booleanamp; bNeedSecurityCheck) 0
system.RuntimeType .CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMarkamp; stackMark) 190
system.Активатор.CreateInstance(Type type, Boolean непубличный) 114
System.Активатор.CreateInstance(тип type) 11
System.web.Mvc.DefaultControllerActivator .Создать(RequestContext RequestContext, тип controllerType) 75

[Исключение InvalidOperationException: произошла ошибка при попытке создать контроллер типа ‘MyApp.Controllers.Мой контролер». Убедитесь, что контроллер имеет общедоступный конструктор без параметров.]
System.Web.Mvc.DefaultControllerActivator.Создать (RequestContext RequestContext, тип controllerType) 242
system.web.Mvc.DefaultControllerFactory.CreateController(RequestContext RequestContext, string controllerName) 96
System.web.mvc.MvcHandler.ProcessRequestInit(HttpContextBase HttpContext, IControlleramp; controller, IControllerFactoryamp; factory) 255 system.web.mvc.MvcHandler.BeginProcessRequest(HttpContextBase HttpContext, обратный вызов AsyncCallback, состояние объекта) 112
system.web.CallHandlerExecutionStep.system.web.HttpApplication.I Шаг выполнения.Выполнить () 840 system.web.HttpApplication.ExecuteStepImpl(шаг IExecutionStep) 224 system.web.HttpApplication.ExecuteStep(шаг IExecutionStep, логическое значение и выполняется синхронно) 131

Как будто файлы Windsor не загружаются?

Поскольку это происходит на сервере, у меня нет возможности отлаживать. Все файлы и конфигурации одинаковы. Может ли кто-нибудь посоветовать, в чем может быть причина или как устранить эту проблему?

Я использую .Net 4.5.2, если это имеет значение. Сервер — Windows 2012 R2 с IIS 10.

Спасибо.

Комментарии:

1. Вероятно, необходимо убедиться, что 1) на сервере установлены те же версии .NET Framework, 2) что AppPool работает в интегрированном режиме и настроен на использование .NET Framework 4.0, и 3) что RAMFAR (RunAllModulesForAllRequests) включен в разделе system.webServer web.config

2. Вы имели в виду runallmanagedmodulesforallrequests? Я не смог найти RunAllModulesForAllRequests .

3. Да, извините — я печатал это по памяти.