简体   繁体   English

在Ninject中使用ToFactory时的ActivationException

[英]ActivationException when using ToFactory in Ninject

When I try to use the ToFactory in Ninject, I get Ninject.ActivationException 当我尝试在Ninject中使用ToFactory时,我得到Ninject.ActivationException

var test = new StandardKernel();
test.Bind<IFoo>().To<Foo>();
test.Bind<IFooFactory>().ToFactory();
var factory = test.Get<IFooFactory>();
var foo = factory.GetFoo();           //<--Ninject.ActivationException

the factory: 工厂:

public interface IFooFactory
{
    IFoo GetFoo();
}

The exception: 例外:

Ninject.ActivationException was unhandled
  Message=Error activating IFoo
No matching bindings are available, and the type is not self-bindable.
Activation path:
  1) Request for IFoo

Suggestions:
  1) Ensure that you have defined a binding for IFoo.
  2) If the binding was defined in a module, ensure that the module has been loaded into the kernel.
  3) Ensure you have not accidentally created more than one kernel.
  4) If you are using constructor arguments, ensure that the parameter name matches the constructors parameter name.
  5) If you are using automatic module loading, ensure the search path and filters are correct.

  Source=Ninject
  StackTrace:
       at Ninject.KernelBase.Resolve(IRequest request) in c:\Projects\Ninject\ninject\src\Ninject\KernelBase.cs:line 359
       at Ninject.ResolutionExtensions.GetResolutionIterator(IResolutionRoot root, Type service, Func`2 constraint, IEnumerable`1 parameters, Boolean isOptional, Boolean isUnique) in c:\Projects\Ninject\ninject\src\Ninject\Syntax\ResolutionExtensions.cs:line 263
       at Ninject.ResolutionExtensions.Get(IResolutionRoot root, Type service, String name, IParameter[] parameters) in c:\Projects\Ninject\ninject\src\Ninject\Syntax\ResolutionExtensions.cs:line 164
       at Ninject.Extensions.Factory.Factory.InstanceResolver.Get(Type type, String name, Func`2 constraint, ConstructorArgument[] constructorArguments, Boolean fallback) in c:\Projects\Ninject\ninject.extensions.factory\src\Ninject.Extensions.Factory\Factory\InstanceResolver.cs:line 75
       at Ninject.Extensions.Factory.StandardInstanceProvider.GetInstance(IInstanceResolver instanceResolver, MethodInfo methodInfo, Object[] arguments) in c:\Projects\Ninject\ninject.extensions.factory\src\Ninject.Extensions.Factory\Factory\StandardInstanceProvider.cs:line 78
       at Ninject.Extensions.Factory.FactoryInterceptor.Intercept(IInvocation invocation) in c:\Projects\Ninject\ninject.extensions.factory\src\Ninject.Extensions.Factory\Factory\FactoryInterceptor.cs:line 57
       at Castle.DynamicProxy.AbstractInvocation.Proceed()
       at Castle.Proxies.IFooFactoryProxy.GetFoo()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Ninject .ToFactory:异常:“抛出异常:Ninject.dll 中的‘Ninject.ActivationException’” - Ninject .ToFactory: Exception: "Exception thrown: 'Ninject.ActivationException' in Ninject.dll" Catel / Ninject:解决IUIVisualizerService时出现Ninject.ActivationException - Catel/Ninject: Ninject.ActivationException when resolving IUIVisualizerService WCF Ninject Ninject.ActivationException - WCF Ninject Ninject.ActivationException Ninject ActivationException:激活IAlertManagement时出错 - Ninject ActivationException: Error activating IAlertManagement 使用EmailTraceListener时Entlib日志记录块ActivationException - Entlib logging block ActivationException when using EmailTraceListener Ninject 3.0.1.10 +工厂扩展没有tofactory方法 - Ninject 3.0.1.10 + factory extension there is not tofactory method Ninject.ActivationException:激活IMainLicense时出错 - Ninject.ActivationException: Error activating IMainLicense Ninject.ActivationException未由用户代码处理 - Ninject.ActivationException was unhandled by user code Ninject 2.1 ActivationException:激活字符串时出错 - Ninject 2.1 ActivationException : Error activating string 在自定义TypeFormatter中使用RegisterWebApiRequest时出现SimpleInjector.ActivationException - SimpleInjector.ActivationException when using RegisterWebApiRequest in custom TypeFormatter
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM