regasm и tlb (регистрация библиотеки .NET для COM-взаимодействия) - PullRequest
2 голосов
/ 22 июня 2010

У меня есть сборка .NET с одним открытым классом и несколькими закрытыми классами.

Я пытаюсь зарегистрировать его для взаимодействия COM, чтобы я мог вызвать его из VBA, используя следующую команду:

regasm /tlb foo.dll /codebase

Впоследствии, когда я открываю файл .tlb в «обозревателе объектов» Visual Studio, я вижу, что библиотека не предоставляет никаких типов.

Есть мысли?

Я понимаю, что здесь не так много конкретной информации, поэтому, если вы дадите мне знать, что было бы полезно с диагностической точки зрения, я постараюсь предоставить.

Ответы [ 2 ]

2 голосов
/ 22 июня 2010

Я должен был пометить свой публичный тип как [ComVisible(true)].

0 голосов
/ 25 июня 2010

Две вещи, которые могут помочь:

  1. Я не думаю, что браузер объектов VS2008 позволяет просматривать файлы tlb, сгенерированные из сборок .NET - я бы порекомендовал использовать Средство просмотра библиотеки типов iTripoli чтобы убедиться, что вы диагностируете правильную проблему;
  2. Попробуйте использовать опцию /verbose, чтобы увидеть, с какими проблемами Regasm столкнулся.
...