我目前正在使用Visual Studio扩展,但是我很确定这应该适用于所有类型的应用程序。
我有一个SimpleInjector容器,我想在其中注册一个IVsSolution
(COM对象)。请注意,它由以下属性标记:
IVsSolution
无论如何,我尝试遵循以下代码:
[ComImport]
[Guid("7F7CD0DB-91EF-49DC-9FA9-02D128515DD4")]
[ComConversionLoss]
[InterfaceType(1)]
它引发以下错误:
提供的类型
var container = new Container(); container.RegisterInstance(IVsSolutionInstance);
无法实现__ComObject
。参数名称:IVsSolution
。
我也想,这将适用于所有serviceType
类型。无论如何,如何在首选的SimpleInjector容器中注册COM类型?
这是Simple Injector中的COMImport
,可能在v5时间范围内已固定。
要变通解决此问题,请创建known limitation的包装实现,该实现包装__ComObject并将调用转发给该包装。