[英]Unity - How to RegisterType for a COM Interop DLL
我有一个旧的COM Interop dll,我必须将其包含在.Net 4.5.1应用程序中。 该应用程序将Unity用于IoC和DI。
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>();
都不起作用。
第一个选项在运行时给出以下错误:
InvalidOperationException-当前类型LegacyInterop是接口,无法构造。 您是否缺少类型映射?
第二个和第三个选项在生成时产生以下错误:
无法嵌入互操作类型“ LegacyInteropClass”。 请改用适用的界面。
我尝试做的事情实际上可能吗? 如果是这样,怎么办?
我可以通过实例化LegacyInterop
来使Interop正常工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.