Ninject在加载依赖项时抛出异常

时间:2012-08-20 21:08:39

标签: c# dependency-injection ninject

在开发中成功使用我的应用程序几周之后,我将它发送给了我的客户端。该应用程序使用Ninject来处理依赖项。

当我尝试在客户端计算机上运行应用程序时,会发生错误:

Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
Stack:
   at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)
   at System.Reflection.RuntimeAssembly.GetExportedTypes()
   at Ninject.Infrastructure.Language.ExtensionsForAssembly.HasNinjectModules(Assembly assembly)
   at Ninject.Modules.AssemblyNameRetriever.AssemblyChecker.GetAssemblyNames(IEnumerable`1 filenames, Predicate`1 filter)
   at Ninject.Modules.AssemblyNameRetriever+AssemblyChecker.GetAssemblyNames(System.Collections.Generic.IEnumerable`1<System.String>, System.Predicate`1<System.Reflection.Assembly>)
   at Ninject.Modules.AssemblyNameRetriever.GetAssemblyNames(System.Collections.Generic.IEnumerable`1<System.String>, System.Predicate`1<System.Reflection.Assembly>)
   at Ninject.Modules.CompiledModuleLoaderPlugin.LoadModules(System.Collections.Generic.IEnumerable`1<System.String>)
   at Ninject.Modules.ModuleLoader.LoadModules(System.Collections.Generic.IEnumerable`1<System.String>)
   at Ninject.KernelBase..ctor(Ninject.Components.IComponentContainer, Ninject.INinjectSettings, Ninject.Modules.INinjectModule[])
   at MyApplication.Main.Application_Start()
   at MyApplication.Main..ctor()
   at MyApplication.Program.Main()

什么可能导致此异常?

框架4.0 NInject 3.0.0.0

谢谢。

1 个答案:

答案 0 :(得分:2)

我猜想IoC容器(Ninject)正在寻找一个无法找到的程序集。也许装配没有与您的部署一起打包?这也可以解释为什么它可以在您的开发机器上运行,但不能在客户机上运行。