3

我有一个 .exe 程序集,其类如

[Guid("2D9EBA5F-7E4A-418B-B151-4E703AEDF396")]
public interface MyInterface
{
   int MyMethod();
}
[GuidAttribute("D26278EA-A7D0-4580-A48F-353D1E455E50"),
ProgIdAttribute("My_prog"), ComVisible(true), Serializable]
public class MyInterface: MyClass
{
   public int MyMethod()
   {
     return 1;
   }
}

我注册它喜欢

regasm 1.exe /tlb 1.tlb

我有两个问题:

1)我用对象资源管理器打开它,“COM”选项卡。我可以看到我的程序集,我可以在那里看到一个对象,但是在这个类中我看不到任何方法。怎么了?

2)我试图从第二个项目中引用它,添加引用-> COM(VS2010)。我得到错误:

" 无法添加对 'assemblyname' 的引用。

ActiveX 类型库“path\1.tlb”是从 .NET 程序集中导出的,不能作为参考添加。

改为添加对 .NET 的引用“

是的,我读过这个问题。但是我不想直接引用程序集,我想通过 COM 访问它!我应该怎么做才能使程序集可通过 COM 引用?

4

0 回答 0