.NET COM interop пока что работает очень хорошо. Поскольку я обновился до Windows 7, я больше не использую мои COM-объекты .NET..NET COM Interop на Windows 7 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 и 64bit. Как раз, когда я получаю ошибку
«ActiveX компонент наклоняю создать объект Crap.MyClass» с помощью этого VBScript:
dim objReg
Set objReg = CreateObject("Crap.MyClass")
MsgBox typename(objReg)
fuslogvw не дает мне никаких намеков либо. Этот COM-объект отлично работает на моей 32-битной машине Vista.
Я не понимаю, почему я не смог найти решение этой проблемы. Я действительно единственный человек, который когда-либо попадал в эту проблему?
Глядя на OleView Я вижу, что мой объект зарегистрирован успешно. Я также могу создавать другие COM-объекты, но он не работает только с моими собственными.
Спасибо, Kevin
Не могли бы вы отметить эту тему как ответ? Спасибо :) –