Я пытаюсь получить доступ к библиотеке классов .NET в Microsoft Excel. Для этого я знаю, что библиотека классов .NET должна быть зарегистрирована в COM. Поэтому я попытался перейти к информации о сборке и установить для параметра COM Visible значение true. Затем на вкладке сборки я установил Register for COM Interop для true. Я проверил файл AssemblyInfo.cs, и он содержит [assembly: ComVisible(true)]
.
Но по какой-то причине, когда я пытаюсь добавить ссылку на Class Lib в Excel, пространство имен не появляется в списке. Я сделал быструю проверку библиотеки классов, в которой ничего не было, и сделал то же самое (установил COM Vis = true и Register For COM Interop = true), и он действительно появился в списке доступных ссылок. Я не могу понять, в чем разница между двумя классами. Я не уверен, действительно ли мой класс регистрируется для COM-взаимодействия или нет. Кто-нибудь знает, что я могу сделать, чтобы это исправить ???
Добавлено: я пытался зарегистрировать класс вручную, используя RegAsm, но получаю следующее сообщение ... "RegAsm : warning RA0000 : No types were registered"
Добавлено: я проверил выходной каталог своего проекта и заметил, что при создании проекта файл библиотеки типов (* .tlb) не создается. Я убедился, что у каждого класса есть свой атрибут GUID. Проект не содержит структур, интерфейсов или перечислений.