Dependency injection Ninject 3.0.1.10缺少IKernel。获取

Dependency injection Ninject 3.0.1.10缺少IKernel。获取,dependency-injection,inversion-of-control,ninject,Dependency Injection,Inversion Of Control,Ninject,我刚刚使用NuGet将Ninject从v3更新到v3.0.1.10,它破坏了我的代码。我在新库的任何地方都找不到IKernel.Get或我依赖的相关方法。我浏览了Ninject的网站和博客,结果很短,找不到详细的变更日志。我注意到有一个解析IEnumerable方法。。。这是现在检索对象的唯一方法吗?泛型和单实例解析/获取方法发生了什么变化?不,选择没有中断 Ninject中的大多数内容都是扩展方法。你是否在使用Ninject 当您使用Ctrl-Alt-O查看完整的编译错误时,您确定没有收到阻止

我刚刚使用NuGet将Ninject从v3更新到v3.0.1.10,它破坏了我的代码。我在新库的任何地方都找不到IKernel.Get或我依赖的相关方法。我浏览了Ninject的网站和博客,结果很短,找不到详细的变更日志。我注意到有一个解析IEnumerable方法。。。这是现在检索对象的唯一方法吗?泛型和单实例解析/获取方法发生了什么变化?

不,选择没有中断

Ninject中的大多数内容都是扩展方法。你是否
在使用Ninject


当您使用
Ctrl-Alt-O
查看完整的编译错误时,您确定没有收到阻止正确加载Ninject程序集的早期错误吗?

证明与我使用ReSharper有关,而不是与Ninject有关。有时,ReSharper会丢失方法、属性等。。。在扫描解决方案时,删除缓存是让ReSharper再次扫描的唯一方法


正如我之前所说,新的DLL破坏了我以前使用Ninject 3.0构建的现有代码。如果我持有对IKernel的引用,我还应该看到它的扩展方法(因为它们都在同一个命名空间中)。将新DLL替换为旧DLL解决了这个问题,因此我倾向于认为3.0.1.10有问题。不过,我周一到办公室后会仔细看一看。我可以向你保证,Ninject提交者绝对不会用这种方式来传达变革的影响。程序集重定向已损坏或丢失,或者使用的
丢失,请相信我。(间接证据:我很确定我已经在您引用的版本之间迁移了)我之所以提到使用
,是因为如果您“持有对
IKernel
的引用”,默认情况下,如果没有使用
,则与
IKernel
相同名称空间中的扩展方法将不可见。现在我在办公室,我可以进一步深入了解这一点。问题是我的Intellisense/ReSharper无法正常工作。它是说扩展方法不存在,但是项目会生成,如果我“假装”该方法存在并带有标准的.Get()方法签名,我就可以运行代码并选择服务。我在想VS2012一定出了什么问题。在我结束这个问题并问另一个问题之前,有什么想法吗,特别是VS12?没关系。我想出来了。这是一个重拾器错误。