我有一个旧的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