Как создать PIA для COM .NET?

Есть COM написанный на .NET. Например: Library.dll. Нужно создать PIA (primary interop assembly), например Library.Interop.dll
Для чего: чтобы протестировать написанный COM из другого .NET приложения, как если COM вызывали из приложений, написанных в Delphi, C++ и т.д., но с использованием "раннего связывания" (early-binding), а не "позднего связывания" (late-binding) с использованием "InvokeMember"
Сложности:
1. Если добавлять сборку напрямую в зависимость .NET приложения, то по ощущениям маршаллер не используется. Вызовы выполняются как .NET <-> .NET. А нужно проверить именно маршаллер
2. Можно в тестируемом приложении написать свои интерфейсы с использованием ComImport, но это копипаст, а хотелось бы автоматизации.

Вопрос: кто решал подобную задачу, поделитесь опытом. Как выполнялось распространение написанных COM .NET сторонним разработчикам?
  • Вопрос задан
  • 2366 просмотров
Пригласить эксперта
Ответы на вопрос 1
Z10yTap0k
@Z10yTap0k
tlbimp Library.dll /out:Library.Interop.dll
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы