это работает блестяще, просто помните, что ваш двоичный интерфейс должен быть совместим с работающими версиями, когда вы перекомпилируете

рабатываю сервер DCOM в .NET 4 (VS2010, C #). Само по себе это работает нормально.

Теперь мне также нужно разработать клиент .NET для этого сервера DCOM, но я не могу добавить ссылку на TypeLib. Visual Studio сообщит мне, что библиотека типов была экспортирована из сборки .NET и не может быть добавлена ​​в качестве ссылки.

Ответы наэтот вопрос предполагает, что я должен быть в состоянии использоватьTlbImp.exe создать сборку оболочки, но она также откажется это сделать:

TlbImp: ошибка TI1029: библиотека типов «MyWrapper» была экспортирована из сборки CLR и не может быть повторно импортирована как сборка CLR.

Я понимаю, что с точки зрения чисто .NET использование DCOM для этого может не иметь большого смысла. Однако тот же сервер также должен быть доступен из приложений, отличных от .NET.

Я попытался преобразовать мой tlb в IDL и восстановить tlb из этого, но это не обманывает Visual Studio.

Возможно, можно немного изменить IDL перед регенерацией, или есть какой-то способ принудительного использования DCOM, даже если сервер и клиент написаны на .NET?

Ответы на вопрос(1)

Ваш ответ на вопрос