我正在使用Microsoft.Practices.ServiceLocation程序集与ninject一起帮助服务位置。注册我ninject内核到服务定位提供方法:ninject和企业库服务定位器相关的程序集
var kernel = new StandardKernel();
//do bindings
var locator = new NinjectServiceLocator(kernel);
ServiceLocator.SetLocatorProvider(() => locator);
上面的代码一切工作正常上安装了企业库(通过MSI可执行文件)的机器。我不能在生产环境中运行安装程序,所以我在bin目录中本地安装了dll,希望这可以起作用。但它不起作用。我没有得到任何程序集没有发现异常,而是我得到一个对象引用没有设置异常调用:'在Microsoft.Practices.ServiceLocation.ServiceLocator.get_Current()'。
我读过几个地方,这个程序集没有任何依赖关系http://msdn.microsoft.com/en-us/library/ff664422%28v=PandP.50%29.aspx和本地dll应该做的伎俩,但它似乎并不。
我已经测试了几个盒子,错误一直发生,直到我运行安装程序。有趣的是,我卸载库后,它仍然有效(我猜它被缓存在某处)。
有没有人有任何类型的问题的经验?