У вас есть проекты, которые образуют круговую цепочку ссылок. Используйте меню Project, а затем References, чтобы увидеть, на какие другие проекты вы ссылаетесь. Затем сделайте это для всех других проектов, которые являются частью приложения. Нарисуйте приблизительный график ссылок на что-нибудь, и в какой-то момент вы обнаружите, что ссылки возвращаются к одному из проектов.
Вам нужно только сосредоточиться на ссылках на проекты, которые вы создали сами. Также вам нужно будет проверить все проекты, которые вы создали, включая пользовательские элементы управления ActiveX. Это можно найти в меню Проект-> Компоненты.
Вероятно, вы обнаружите, что существует только несколько классов, на которые вы ссылаетесь. В этом случае вы можете разделить их на другую ActiveX DLL / библиотеку и сделать так, чтобы исходные проекты ссылались друг на друга.
Причина, по которой эта проблема возникает, заключается в том, что COM использует библиотеки типов, встроенные в библиотеку, для вызова классов и их методов. Библиотеки со ссылками включены в эту библиотеку типов способом, аналогичным включаемому файлу в C. Циркулярные ссылки не имеют «дна», поэтому COM не может добраться до самой нижней библиотеки, чтобы сформировать библиотеку типов.