我正在尝试部署一个使用Ninject for DI的网站,该网站在我的开发机器上本地运行良好(不是全部!)。 当部署到我的主机(使用Visual Studio 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,如果相关。
编辑:因为我已经加入paramterless构造函数来HomeController的,但它并没有区别,并存在同样的错误....
您是否已将所有相关的/所需的dll副本本地设置为true?听起来像你缺少一些组件。 – Tommy 2012-07-24 21:25:39
你确定服务器正在运行.NET 4吗? – 2012-07-24 21:31:01
@Mystere Man:详细的错误页面显示版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.1 – LDJ 2012-07-25 06:32:29