А как сейчас с работой?
Сейчас точнее напишу, а то я тут чего-то может наврал.
Вобщем, конкретный код, что у меня вылетает:
Type type = Type.GetTypeFromCLSID - тут передаётся GUID из настроек приложения и имя сервера (у меня это локалхост) - тут же и вылетает, т.к. данный гуид не зарегистрирован (потому что сервис, где он зарегистрирован, не запущен, или как-то так).
Далее, если получаю таки этот тип, то он создаётся удалённо:
Activator.CreateInstance(type)
но до этого не доходит - вылетает на предыдущей строчке.
Как я понял, эти типы крутятся где-то в другом процессе и моё приложение создаёт объекты в этом процессе удалённо и использует их (тоже удалённо?). Зачем и почем так сделали - не знаю. Клиентское приложение - обычный веб-проект (сделанный, правда, на технологиях 20-летней давности). Чем было хуже просто сделать либу с типами, пошарить её между сервером и клиентом и гонять объекты через какой-нибудь REST?
Время идёт, System.EnterpriseServices, в котором этот interop крутится, устарел и больше не поддерживается в новом .NET, а REST как был, так и остался.