我有一個.NET程序集,我已經通過tlb文件暴露給COM,以及註冊了tlb的安裝程序。我已手動檢查安裝程序是否正常工作,並且COM客戶端可以訪問該庫。到目前爲止,這麼好...是否可以從.NET測試COM暴露的程序集?
但是,我試圖把一些自動系統測試放在一起,檢查安裝程序是否正常工作。作爲其中的一部分,我已經在VM上自動完成了安裝,現在我想對安裝的COM庫進行一些調用,以驗證它是否正常工作。我原本以爲在VB6中編寫一些測試,但我已經有一大堆用C#編寫的測試,它引用了.NET程序集。我希望我可以改變這些引用.tlb,但是當我在VS2008中嘗試這個時出現錯誤:
ActiveX類型庫'blah.tlb'從.NET程序集中導出,無法添加作爲參考。
有什麼辦法可以欺騙VS2008進入允許我添加這個引用,也許通過編輯tlb文件?
谷歌沒有提出任何解決方案。所有我發現是微軟的連接文章稱,這是「通過設計」:http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=120882
有幾個人提到使用tlbimp.exe。如果我嘗試tlbimp.exe是blah.tlb我得到的錯誤:「等等,從一個CLR程序集導出,並且不能被重新導入爲CLR組件類型庫」 – Akash 2008-12-15 11:35:47