Я бы хотел добавить ответ Стрилло, но у меня нет репутации, необходимой для добавления комментария.
Я получал то же поведение, что и shtpavel, до тех пор, пока я вручную не зарегистрировал COM dll. Как только я зарегистрировал COM dll, ответ Стрилло сработал для меня.
regasm /tlb /codebase project.dll
Регазм можно найти по адресу:
C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/RegAsm.exe
На вкладке «Построение» представления настроек проекта под заголовком «Вывод» имеется флажок «Зарегистрироваться для взаимодействия COM». Я доказал себе, что это регистрирует COM DLL, но снова ответ Strillo не работал для меня, пока я вручную не зарегистрировал DLL, используя вышеупомянутую команду.
RegAsm - Когда применима опция / codebase? утверждает, что флажок «Регистрация для взаимодействия COM» в Visual Studio - то же самое, что и мое решение для командной строки. Но по моему опыту, изначально «Зарегистрироваться для COM-взаимодействия» было недостаточно. Не знаю почему.