我正在按照这篇文章创建一个可插入的MVC应用程序.一旦ninject
安装完毕,就说要添加:
var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin"); kernel.Bind(a => a.FromAssembliesInPath(path).SelectAllClasses().BindDefaultInterface());
在RegisterServices
该方法中的NinjectWebCommon.cs
文件,但是,当我这样做,我得到以下错误:
无法将lambda表达式转换为'System.Type []'类型,因为它不是委托类型.
这是公平的,我理解错误,但我不知道如何解决它.在ninject中有什么变化导致此错误?我很感激有关如何进行的一些建议.
Bind
带有签名的方法(Bind(this IBindingRoot kernel, Action<IFromSyntax> configure)
在本文中使用)在ninject.extensions.convention插件中的名称空间的类中被声明为扩展方法.Ninject.Extensions.Conventions
ExtensionsForIKernel
所以你错过了正确的using
陈述.
将此行添加到NinjectWebCommon.cs
文件中以使代码编译:
using Ninject.Extensions.Conventions;