为了与时俱进我下载了
Ninject.Extensions.Xml-3.0.0.5-release-net-4.0.zip
现在的 3.0 和以前的2.0 有很大区别,按说明上的描述以前的2.0版本是可以的其代码如下:
NinjectKernel = new StandardKernel(); NinjectKernel.Load("myXmlConfigurationModule.xml");
但是,如果我引用了3.0的包结果会在
NinjectKernel = new StandardKernel(); 这里报出了莫名其妙的错,说无法找到Ninject.Extensions.Xml文件,经过了好几个小时的跟进发现原来在3.0的时候我们需要这样去把扩展进行引入(我下载了Ninject.Extensions.Xml的源代码,然后看他的test项目,结果才发现原来他们自己也是这样写的)
3.0的初始化代码如下:
var settings = new NinjectSettings { LoadExtensions = false }; NinjectKernel = new StandardKernel(settings,new XmlExtensionModule()); NinjectKernel.Load("myXmlConfigurationModule.xml");用以上代码方能正确使用Ninject.Extensions.Xml,在运行时为程序进行灵活的配置