gpt4 book ai didi

caSTLe-windsor - 无法实例化 Windsor 自定义组件激活器

转载 作者:行者123 更新时间:2023-12-04 06:52:00 30 4
gpt4 key购买 nike

我在调用 Resolve 时遇到异常:

KernelException: Could not instantiate custom activator
Inner Exception:
{"Constructor on type 'MyProj.MyAdapter`1[[MyProj.MyBusinessObject, MyAsm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' not found."}

那里肯定有一个公共(public)的无参数构造函数(我已经在运行时使用反射验证了这一点)...所以我认为问题可能与它是通用的事实有关?我已经尝试获取组件模型对象并将 RequiresGenericArguments 设置为 true,但这并没有让我得到任何结果。

任何帮助将不胜感激!谢谢。

最佳答案

Windsor 没有使用默认构造函数来实例化激活器。

新版本抛出更有用的异常信息:

Castle.MicroKernel.KernelException : Could not instantiate custom activator
----> System.ArgumentException : Type Castle.Windsor.Tests.ActivatorWithoutCorrectConstructor does not have a public constructor matching arguments of the following types:
Castle.Core.ComponentModel
Castle.MicroKernel.DefaultKernel
Castle.MicroKernel.ComponentInstanceDelegate
Castle.MicroKernel.ComponentInstanceDelegate

所以你需要这样的构造器

public YourActivator(ComponentModel model, IKernel kernel,
ComponentInstanceDelegate onCreation,
ComponentInstanceDelegate onDestruction)

关于caSTLe-windsor - 无法实例化 Windsor 自定义组件激活器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3026806/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com