【问题标题】:How to resolve generic type in Unity如何在 Unity 中解析泛型类型
【发布时间】:2014-03-01 00:08:49
【问题描述】:

我正在尝试通过 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();    

有人可以帮忙吗?

谢谢

【问题讨论】:

标签: c# unity-container


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多