Ninject和XML配置绑定

我一直在互联网上搜索任何样本或获取如何使用XML扩展与Ninject绑定的开始文章,但我找不到任何帮助! ,

任何机构都能为我提供一个非常小的样本,我该怎么做?

提前致谢

我也找不到任何例子,但老实说源代码非常小 – 我只想下载( 这里 )并阅读测试用例。

unit testing项目有一些例子,如下:

    

它似乎不是很强大。 正如其他人所指出的那样 ,NInject的观点是“让自己摆脱XML”。

他们唯一的文档显示了xml配置的外观,但是他们没有举例说明如何加载它所以这里有一个简单的例子,它显示了这两个难题。

Xml配置

这将位于名为NinjectModules.xml的文件中。 为了找到类型,我必须给它组装限定名称,即使所有内容都在一个.exe中。

    

加载配置

 IKernel kernel = new StandardKernel(); kernel.Load("c:\path\to\NinjectModules.xml"); IOwl owl = kernel.Get(); owl.Fly(); 

在我星期六失去并查看Ninject.Extensions.Xml Source之后,我解决了我的问题:

 (...) var settings = new NinjectSettings { LoadExtensions = false }; kernel = new StandardKernel(settings, new XmlExtensionModule()); kernel.Load(@"C:\DEV\FSENQUETE\invista.xml"); //kernel.GetModules().Count() --> Ok! Result 34 modules... :) 

得到了解决方案:

不要忘记将此文件的xml文件的“目录”属性的“复制到输出”设置为“如果更新则复制”,以便可以将其自动复制到输出目录。 有关更多信息,请参阅此PDF