«Сделать сборку видимой для COM» - это большой молот для создания всех открытых типов в сборке [ComVisible]. Редко желательно, вы захотите выбрать конкретные типы, которые вы хотите видеть, как вы сделали в своем фрагменте.
После сборки сборка должна быть зарегистрирована, чтобы COM-клиент мог найти ее обратно. Который использует только число для идентификации объекта, который он хочет создать, GUID, дополнительный поиск необходим, чтобы выяснить, какая DLL его реализует. Регистрация включает запись ключей в часть реестра HKLM\Software\Classes\CLSID\{guid}
. Вы можете сделать это самостоятельно, запустив Regasm.exe /codebase /tlb
, или вы можете оставить это в системе сборки, чтобы делать это автоматически после сборки сборки.
Что и делает "Регистрация для взаимодействия COM". Это желательно, так как он гарантирует, что старая копия DLL будет автоматически незарегистрирована перед ее перезаписью, что предотвращает загрязнение реестра. VS должен работать с повышенными правами, чтобы иметь доступ на запись к этим разделам реестра, что является одной из причин, по которым он может быть необязательным. Или вы просто не хотите регистрировать это, обычно на серверах сборки. Я не могу комментировать, почему вы иногда не получаете .tlb без дополнительной диагностики.