如何在Unity中解析泛型类型

时间:2012-01-26 16:03:46

标签: c# unity-container

我正在尝试解析通用类型槽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 {}
}

每个名称空间都放在与名称空间同名的单独的asssembly中。我在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();    

有人可以帮忙吗?

感谢

1 个答案:

答案 0 :(得分:0)

您是否尝试在代码中注册依赖项?这可能会帮助您缩小问题范围。注册应如下所示:container.RegisterType<ServiceActivityBase<InputDto,OutputDto>,TestActivity>()。通过这种方式,您可以知道您的问题是否仅存在于XML文件中。