У меня есть сборка .NET, с которой я столкнулся с COM через tlb-файл и установщик, который регистрирует tlb. Я вручную проверил, что установщик работает правильно и что COM-клиенты могут получить доступ к библиотеке. Пока что так хорошо ...Возможно ли протестировать сборку COM с помощью .NET?
Однако я пытаюсь собрать некоторые автоматизированные системные тесты, которые проверяют правильность работы установщика. В рамках этого я автоматизировал установку на виртуальной машине, и теперь я хочу сделать некоторые звонки в установленную библиотеку COM, чтобы убедиться, что она работает правильно. Первоначально я думал о написании некоторых тестов в VB6, но у меня уже есть большой набор тестов, написанных на C#, которые ссылаются на сборку .NET. Я надеялся, что могу изменить их, чтобы ссылаться на .tlb, но я получаю сообщение об ошибке, когда я пытаюсь это сделать в VS2008:
Библиотека типа «blah.tlb» ActiveX была экспортирована из сборки .NET и не может быть добавлена как ссылка.
Есть ли способ, которым я могу обмануть VS2008, чтобы позволить мне добавить эту ссылку, возможно, отредактировав файл tlb?
Googling не придумал никаких решений. Все, что я нашел это в статье Microsoft Connect о том, что это «By Design»: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=120882
Несколько человек упомянули использование tlbimp.exe. Если я попробую tlbimp.exe blah.tlb, я получу ошибку: «Тип библиотеки blah был экспортирован из сборки CLR и не может быть повторно импортирован как сборка CLR». – Akash 2008-12-15 11:35:47