3
我使用VS2012 RC开创了.NET 4.0模式MVC4应用。我使用Ninject + Ninject.MVC3作为DI容器。它的工作原理我的开发机器上的Windows,并与.NET 4.0安装另一台机器上,但是当我部署Linux服务器使用Mono 3.0.2,XSP和FastCGI的lighttpd +上我刚刚得到一个Ninject相关的错误信息:MONO 3.0.2 + Ninject + MVC4:序列中没有匹配的元素
System.InvalidOperationException
Sequence contains no matching element
at System.Linq.Enumerable.Single[DataAnnotationsModelValidatorProvider] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.Single[DataAnnotationsModelValidatorProvider] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
at Ninject.Web.Mvc.NinjectMvcHttpApplicationPlugin.Start() [0x00000] in <filename unknown>:0
at Ninject.Web.Common.Bootstrapper.<Initialize>b__0 (INinjectHttpApplicationPlugin c) [0x00000] in <filename unknown>:0
at Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[INinjectHttpApplicationPlugin] (IEnumerable`1 series, System.Action`1 action) [0x00000] in <filename unknown>:0
at Ninject.Web.Common.Bootstrapper.Initialize (System.Func`1 createKernelCallback) [0x00000] in <filename unknown>:0
at MvcApplication1.App_Start.NinjectWebCommon.Start() [0x00000] in <filename unknown>:0
at MvcApplication1.MvcApplication.Application_Start() [0x00000] in <filename unknown>:0
澄清:我不得不手动调用生成的NinjectWebCommon类的Start和Stop方法,因为[assembly: WebActivator.PreApplicationStartMethod...]
属性被忽略(我首先收到关于缺少默认构造函数的错误消息,这对于DI-ed控制器是正常的)
我也试着子类NinjectHttpApplication,但我得到了同样的错误。
这里有什么帮助吗?