到目前爲止,.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