Unity-如何为com Interop dll注册类型



我有一个旧的com Interop dll,我必须将其包含在.NET 4.5.1应用程序中。该应用程序使用IOC和DI的UNITY。

Interop DLL具有以下简化:

public interface ILegacyInterop
{
    void DoStuff()
}
public interface LegacyInterop : ILegacyInterop
{
}
public class LegacyInteropClass : ILegacyInterop, LegacyInterop 
{
    public LegacyInteropClass();
    public virtual void DoStuff();
}

我尝试以下操作以下接口,如下所示

container.RegisterType<ILegacyInterop, LegacyInterop>();

container.RegisterType<ILegacyInterop, LegacyInteropClass>();

container.RegisterType<LegacyInterop, LegacyInteropClass>();

什么都没有。

第一个选项在运行时给出以下错误:

无效的exception-当前类型legacyInterop是一个 接口,无法构造。您是否缺少类型映射?

第二和第三选项给出以下错误:

Interop类型的" LegacyInteropClass"无法嵌入。使用 适用的接口。

我实际上想做的是可能的吗?如果是这样,如何?

我可以通过实例化 LegacyInterop

来使互动互动工作

我在Interop类型的帮助下弄清楚了它

然后container.RegisterType<ILegacyInterop, LegacyInteropClass>(); Works

相关内容

  • 没有找到相关文章

最新更新