내 개발 컴퓨터에서 로컬로 잘 작동하는 DI 용 Ninject를 사용하는 웹 사이트를 배포하려고합니다. 나는 다음과 같은 오류 얻을 (비주얼 스튜디오 FTP 게시 옵션 사용) 내 호스트에 배포하는 경우 : 그것을 추적Ninject DI로 인한 배포 문제가 발생했습니다.
Method not found: 'System.Delegate System.Reflection.MethodInfo.CreateDelegate(System.Type)'.
및
[InvalidOperationException: An error occurred when trying to create a controller of type 'Website.Controllers.HomeController'. Make sure that the controller has a parameterless public constructor.]
스택을 살펴보면를
NinjectDependencyResolver.GetService (유형 ServiceType 자리를 표시)은 실패한 메소드입니다. 내가 말했듯이, 지역에서 잘 작동한다는 것은 실제로 어디에서 어떻게 다루는 지 알지 못합니다. Googleing은 유용한 것을 가져 오지 않았습니다.
해당되는 경우 Ninject 3.0.1.10을 사용하고 있습니다.
편집 : i를 homecontroller에 paramterless 생성자를 추가하지만 차이와 같은 오류가 있습니다 ....
관련성이 있고 필요한 dlls copy local을 모두 true로 설정 했습니까? 어셈블리가 누락 된 것 같습니다. – Tommy
서버가 .NET 4를 실행하고 있습니까? –
@Mystere Man : 자세한 오류 페이지에 버전 정보가 표시됩니다. Microsoft .NET Framework 버전 : 4.0.30319; ASP.NET 버전 : 4.0.30319.1 – LDJ