2012-05-08 105 views
0

我在.Net中爲同事創建了一個.dll文件,以便將其包含在他的VB6項目中。經過很多頭部劃痕之後,我們終於獲得了VB6項目引用的.dll文件,並能夠創建對象的實例。創建一個引用另一個.dll的.dll

事情是我的.dll引用另一個.dll(第三方)。我知道在生成.exe文件時,您可以選擇include作爲引用的.dll文件,而不是將其作爲先決條件。但是,創建.dll文件時,相同的功能不可用。

在他的VB6中,它提到第三方.dll不可訪問。

如何在我的.dll中包含第三方.dll?或者,對於我的同事來說,引用第三方.dll和我的內容會更明智嗎?

在此先感謝。

回答

1

爲了從VB6引用.NET DLL,您需要從適當的.NET Framework版本運行「regasm」命令。你也會希望使用「/ tlb」開關讓它輸出類型庫(.tlb文件)。

一旦你有了tlb文件,你可以簡單地從VB6 IDE中選擇Project-> References並點擊瀏覽來選擇tlb。您現在可以使用.NET庫中的類的早期綁定實例化。

由於您的.NET DLL使用另一個DLL,因此您只需確保它可以被引用您的.NET DLL的EXE訪問。這是通過將第三方DLL部署到EXE啓動的相同路徑來完成的,或者也可以將第三方DLL添加到全局程序集緩存(GAC),如果它也是.NET並且也是強命名的。

3

您不能(可靠地)將引用的DLL嵌入到另一箇中。他們都需要根據他們的先決條件和註冊/設置複製到目標機器,正如作者推薦的那樣。

+0

我很害怕這個。謝謝! – PaulG