#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. Да, извините — я печатал это по памяти.