我有一个主应用程序和一个插件。主应用程序正在导出IHost
对象,插件正在导入IHost
对象。我跑了mefx,它认出了这两个。但是当我在插件上执行/causes
时,它会给我一个ImportCardinalityMismatchException。我的容器看到了插件,但是当我调用Me.container.getExports(of IController)()
时,它不会返回任何内容。
我的控制器看起来像这样:
Class Controller
Implements IController
' ...
<Import()>
Public Property Host As Lazy(Of IHost)
' ...
End Class
答案 0 :(得分:1)
我的插件中必须<ImportMany()>
。然后,对于我导入的变量,我需要将其设为IEnumerable(Of Lazy(Of IHost))
或使用Lazy(of IHost)
,如果您想要<Import()>