我正在关注这篇文章来创建pluggable MVC application。安装ninject
后,它会添加以下内容:
var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin");
kernel.Bind(a => a.FromAssembliesInPath(path).SelectAllClasses().BindDefaultInterface());
到RegisterServices
文件中的NinjectWebCommon.cs
方法,但是,当我这样做时,我收到以下错误:
无法将lambda表达式转换为'System.Type []'类型,因为它是 不是代表类型。
这很公平,我理解错误,但我不知道如何绕过它。在ninject中有什么变化导致此错误?我很感激有关如何继续的建议。
答案 0 :(得分:8)
文章中使用的带有签名Bind
的{{1}}方法在Bind(this IBindingRoot kernel, Action<IFromSyntax> configure)
命名空间{{1}中被声明为扩展方法 } ninject.extensions.convention插件中的类。
所以你错过了正确的Ninject.Extensions.Conventions
声明。
将此行添加到ExtensionsForIKernel
文件以编译代码:
using