我正在尝试通过 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();
有人可以帮忙吗?
谢谢
您是否尝试过在代码中注册依赖项?这可能会帮助您缩小问题范围。注册应如下所示:container.RegisterType<ServiceActivityBase<InputDto,OutputDto>,TestActivity>()
.这样您就可以知道您的问题是否只存在于您的 XML 文件中。
我是一名优秀的程序员,十分优秀!