Я разрабатываю сервер DCOM в .NET 4 (VS2010, C #).Само по себе это работает нормально.
Теперь мне также нужно разработать клиент .NET для этого сервера DCOM, но я не могу добавить ссылку на TypeLib.Visual Studio сообщит мне, что библиотека типов была экспортирована из сборки .NET и не может быть добавлена в качестве ссылки.
Ответы на этот вопрос предполагает, что я должен иметь возможность использовать TlbImp.exe
создать сборку оболочки, но она также откажется это сделать:
TlbImp: ошибка TI1029: библиотека типов «MyWrapper» была экспортирована из сборки CLR и не может быть повторно импортирована как CLRсборка.
Я понимаю, что с точки зрения чисто .NET использование DCOM для этого может не иметь большого смысла.Однако тот же сервер также должен быть доступен из приложений, отличных от .NET.
Я попытался преобразовать свой tlb в IDL и восстановить его из этого, но это не обманывает Visual Studio.
Возможно, можно немного изменить IDL перед регенерацией, или есть какой-то способ принудительного использования DCOM, даже если сервер и клиент написаны на .NET?