我正在通過COM interop公開一些.NET API的產品。作爲構建的一部分,我們爲所有這些程序集生成* .tlb文件,並將它們作爲單獨的SDK包的一部分提供。我們的客戶可以在我們的產品上安裝SDK,並創建使用我們的COM API的應用程序。* .tlb文件曾經在運行時使用過嗎?
我們是否需要將這些* .tlb文件與產品本身一起發貨和註冊?在運行時需要* .tlb時,是否執行了針對它們編碼的第三方庫?
請解釋它是如何工作的,如果你回答是的。我在互聯網上看到很多評論說我必須提供並註冊它們,但是我沒有找到明確解釋爲什麼應該完成的評論。這讓我懷疑這是真的。
謝謝你這就是我要找的。 – Dennis
Microsoft文檔證實了這一點: http://msdn.microsoft.com/en-us/library/eaw10et3.aspx#marshaling_and_com_apartments 「接受跨公寓編組的開銷,這隻在有很多調用時才顯着跨越邊界。您必須註冊COM組件的類型庫才能成功通過公寓邊界。「 – Dennis
http://msdn.microsoft.com/en-us/library/windows/desktop/ms692621(v=vs.85)。aspx 「除了使用MIDL爲自定義接口生成代理和存根外,還可以生成類型庫,而系統提供的類型庫驅動的封送處理引擎將編組接口。」 – Dennis