如何在Unity中解析泛型类型
我正在尝试通过 Unity 解析泛型类型,但收到错误:{“给定的程序集名称或代码库无效。(来自 HRESULT 的异常:0x80131047)”:null}。
我的代码和配置如下:
namespace Prj.Common.Workflow
{
public class ServiceActivityBase<I, O> : CodeActivity, IServiceActivityBase
{
}
}
namespace Prj.Services
{
public sealed class TestActivity : ServiceActivityBase<InputDto, OutputDto>
{
}
}
namespace Prj.Dto
{
public class InputDto {}
public class OutputDto {}
}
每个命名空间都放置在与命名空间同名的单独程序集中。我在 web.config 中有以下注册:
<register type="Prj.Common.Workflow.ServiceActivityBase'2[[Prj.Dto.DajDetailDietetickejPotravinyVstupDto,Prj.Dto],[Prj.Dto.DajDetailDietetickejPotravinyVystupDto,Prj.Dto]], Prj.Common.Workflow"
mapTo="Prj.Services.TestActivity, Prj.Services"
name="TestActivity"
>
<constructor/>
<interceptor type="VirtualMethodInterceptor"/>
<policyInjection />
</register>
加载配置时收到错误:
IUnityContainer container = new UnityContainer().LoadConfiguration();
有人可以帮忙吗?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试过在代码中注册依赖项?这可能会帮助您缩小问题范围。注册应如下所示:
container.RegisterType,TestActivity>()
。这样您就可以知道问题是否仅出现在 XML 文件中。Have you tried registering the dependency in code? This might help you narrow down issue. Registration should look like this:
container.RegisterType<ServiceActivityBase<InputDto,OutputDto>,TestActivity>()
. This way you would know if your issue is only in your XML file.