Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为依赖项注入注册COM类型_C#_Dependency Injection_Com_Vsix_Simple Injector - Fatal编程技术网

C# 为依赖项注入注册COM类型

C# 为依赖项注入注册COM类型,c#,dependency-injection,com,vsix,simple-injector,C#,Dependency Injection,Com,Vsix,Simple Injector,我目前正在开发一个VisualStudio扩展,但是我非常确定这应该适用于所有类型的应用程序 我有一个SimpleInjector容器,我想在其中注册一个(COM对象)。请注意,它由以下属性标记: [ComImport] [Guid(“7F7CD0DB-91EF-49DC-9FA9-02D128515DD4”)] [ComConversionLoss] [接口类型(1)] 无论如何,当我尝试执行以下代码时: var container=newcontainer(); 容器注册状态(IVsSol

我目前正在开发一个VisualStudio扩展,但是我非常确定这应该适用于所有类型的应用程序

我有一个SimpleInjector容器,我想在其中注册一个(COM对象)。请注意,它由以下属性标记:

[ComImport]
[Guid(“7F7CD0DB-91EF-49DC-9FA9-02D128515DD4”)]
[ComConversionLoss]
[接口类型(1)]
无论如何,当我尝试执行以下代码时:

var container=newcontainer();
容器注册状态(IVsSolutionInstance);
它抛出以下错误:

提供的类型
\uuu-ComObject
未实现
IVS解决方案
。 参数名称:
serviceType

我还想,这将适用于所有
COMImport
类型。无论如何,我怎样才能在SimpleInjector容器中注册COM类型

这是v4中的简单喷油器,已在v5中修复。


要解决此问题,请创建一个
IVsSolution
的包装器实现,该实现包装了\uuu-ComObject并将调用转发给该对象。

这很遗憾,我真的试图避免将其包装到另一个类。@two:我很高兴宣布Simple Injector v5已经发布,现在它允许注册COM对象。我确实看到了,仍然非常感谢您的消息。我等了这么久!