我有一个工作的 .net winform 用户控件,想将其转换为 COM。我一直在努力寻找一种方法来将此用户控件转换为启用 COM(用于 VS6/C++6)。我不确定这是否可行?还是我必须考虑另一种方法?这是界面:
[ComVisible(true)]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("C8BDB591-189D-4EB5-A026-7C9FFBEE3A85")]
public interface iMainInterface
{
[DispId(1)]
void ShowMyInterface();
}
这是控制:
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
[ComSourceInterfaces(typeof(iMainInterface))]
[Guid("F8D26781-5A97-4467-B732-7EAB1A04C3F2")]
public partial class MainInterface : UserControl
{
public void ShowMyInterface()
{
...
}
}
错误消息似乎是针对[ComSourceInterfaces(typeof(iMainInterface))]
这是错误:错误 2 无法注册程序集“MyInterface.dll”。类型 'xxx.MainInterface' 不支持指定的默认 COM 接口:'xxx.iMainInterface' PerformReportControl