1. 程式人生 > >.net 的 dll 轉化為Com元件

.net 的 dll 轉化為Com元件

在搞企業資訊化的過程中遇到這樣一個問題:很多新的應用模組使用.net進行了開發,收到了很好的效果,但是有很多過去的程式,使用的是VB6開發的,也就是需要使用COM元件,因為不是小部分的,而且很多是影響主業務的程式,所以就想到了把.net的類庫,建立Com類的方式先進性封裝,然後再編譯成dll,客戶端如何使用呢?

這個問題困擾了我好幾天

1、問題的發現:在本機上使用通過編譯的COM元件,沒有問題,但是拿到其他計算機上就出問題了;

2、在目標計算機上的嘗試:在目標計算機上通過regasm 匯出tlb檔案後,再執行目標程式,還是不行;

3、嘗試:因為在我的Com介面中,定義了託管物件,是不是找不到託管物件?把涉及到的Dll全部強命名,放到GAC中,問題解決

4、另外的嘗試:既然放到GAC中好用,放到同一目錄下也應該好用,所以把測試的Exe和所以的元件都放在同一個目錄下,先使用regasm /tlb:匯出 tlb檔案,然後通過regtlib註冊tlb檔案,在執行應用程式,可以!