Mam zestaw .NET, który mam narażone na COM za pośrednictwem pliku tlb i instalatora, który rejestruje tlb. Ręcznie sprawdziłem, czy instalator działa poprawnie i czy klienci COM mają dostęp do biblioteki. Do tej pory, tak dobrze ...Czy można przetestować zestaw narażonych COM z .NET?
Jednak próbuję zestawić kilka zautomatyzowanych testów systemu, które sprawdzają, czy instalator działa poprawnie. W ramach tego zautomatyzowałem instalację na maszynie wirtualnej i chcę teraz wykonać pewne wywołania do zainstalowanej biblioteki COM, aby sprawdzić, czy działa ona poprawnie. Początkowo myślałem o napisaniu kilku testów w VB6, ale mam już duży zestaw testów napisanych w języku C#, które odwołują się do zestawu .NET. Miałem nadzieję, że będę mógł to zmienić, odwołując się do pliku .tlb, ale pojawia się błąd, gdy próbuję tego w VS2008:
Biblioteka typu "blah.tlb" ActiveX została wyeksportowana z zestawu .NET i nie można jej dodać jako odniesienie.
Czy mogę w jakiś sposób oszukać VS2008, aby dodać ten odnośnik, być może edytując plik tlb?
Googling nie wymyślił żadnych rozwiązań. Wszystko znalazłem jest artykuł Microsoft Connect stwierdzając, że jest to „By Design”: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=120882
Kilka osób wspomniało o użyciu narzędzia tlbimp.exe. Jeśli spróbuję tlbimp.exe blah.tlb, pojawia się błąd: "Biblioteka typów została wyeksportowana z zestawu CLR i nie można jej ponownie zaimportować jako zespołu CLR." – Akash