到目前为止,.NET COM互操作性一直很好。由于我升级到Windows 7,我不再让我的.NET COM对象工作了。Windows 7上的.NET COM互操作64Bit让我头疼
我的COM对象是一样简单:
namespace Crap
{
[ComVisible(true)]
[Guid("2134685b-6e22-49ef-a046-74e187ed0d21")]
[ClassInterface(ClassInterfaceType.None)]
public class MyClass : IMyClass
{
public MyClass()
{}
public void Test()
{
MessageBox.Show("Finally got in here.");
}
}
}
namespace Crap
{
[Guid("1234685b-6e22-49ef-a046-74e187ed0d21")]
public interface IMyClass
{
}
}
组件被标记标记有ComVisible特性为好。
我寄存器使用
regasm /codebase /tlb "path"
注册成功(管理模式)的组件。 我试过regasm 32和64位。这两个时间我得到的错误
“ActiveX组件不能创建对象Crap.MyClass”使用该VBScript中:
dim objReg
Set objReg = CreateObject("Crap.MyClass")
MsgBox typename(objReg)
fuslogvw不给我任何提示无论是。 COM对象在我的Vista 32位机器上完美工作。
我不明白为什么我一直没有能够谷歌解决方案,这个问题..我真的是唯一的人,有过这个问题?
看着OleView我看到我的对象注册成功。我也可以创建其他COM对象。它只适用于我自己的COM对象。
谢谢 凯文
您能否将此线标记为已回答?谢谢:) – 2010-05-20 10:39:27