Dependency injection 无法在Kephas的开放泛型服务中使用构造函数
不知何故,我无法让一个带有构造函数的实现将服务导出为OpenGeneric。我尝试向其添加[CompositionConstructor]属性,但没有成功。它抛出类似于:Dependency injection 无法在Kephas的开放泛型服务中使用构造函数,dependency-injection,composition,kephas,Dependency Injection,Composition,Kephas,不知何故,我无法让一个带有构造函数的实现将服务导出为OpenGeneric。我尝试向其添加[CompositionConstructor]属性,但没有成功。它抛出类似于: System.Composition.Hosting.CompositionFailedException : No importing constructor was found on type 'MyType'. 有什么想法吗?不幸的是,这是System.Composition库中的一个错误(请检查此处)。正如我所看到的
System.Composition.Hosting.CompositionFailedException : No importing constructor was found on type 'MyType'.
有什么想法吗?不幸的是,这是System.Composition库中的一个错误(请检查此处)。正如我所看到的,这个bug被添加到5.0里程碑中,意味着明年秋天。在我看来,您有以下选择:
正如我所见,没有完美的解决方案。。。然而,由于在我的例子中依赖项是单例的,我想我会接受第一个建议。单元测试不是最好的,但在这种情况下是可以接受的。但是Autofac绝对值得一试,也许当Kephas的6.5版发布时。对于单元测试,只需添加一个具有所需依赖项的内部构造函数。现在,直到问题解决为止。与Autofac一样,它是成熟的,并且充满了优秀的特性,这也是ASP.NET核心团队的建议。