Я создал класс ComVisible:
[Guid("73a3f91f-baa9-46ab-94b8-e526c22054a4"), ComVisible(true)]
public interface ITest
{
void Foo();
}
[Guid("99f72d92-b302-4fde-89bb-2dac899f5a48"), ComVisible(true)]
public class Class1 : ITest
{
public void Foo() { }
}
и зарегистрировал его через
regasm ComClassTest.dll /tlb:ComClassTest.tlb
в реестре.Когда я пытаюсь вызвать его в моем приложении Silverlight 4 вне браузера, с повышенным уровнем доверия, например:
var foo = AutomationFactory.CreateObject("ComClassTest.Class1");
Я получаю исключение "{System.Exception: Не удалось создать экземпляр объекта для указанногоProgID. "
Однако я могу вызывать AutomationFactory.CreateObject (" Word.Application ") без исключения и вызывать Activator.CreateInstance (Type.GetTypeFromProgID (" ComClassTest.Class1 ")) в обычном режиме.C # -консольное приложение, если я копирую ComClassTest.dll в каталог bin.
Что я забыл?