2013-04-12 47 views
0

我有一個VB6項目當我嘗試它在.NET 4.0的升級,它顯示在引用一些錯誤(我知道這是顯而易見的),它們就像找不到vb6的dll?

The referenced component 'AxMSCommLib' could not be found. 
The referenced component 'AxOWC' could not be found.  
The referenced component 'ComctlLib' could not be found.  
The referenced component 'Microsoft.Office.Interop.Excel' could not be found. 

有人告訴我安裝VB6,並找出那些引用並將它們添加到.net項目,我安裝了vb6,但我仍然無法找出這些DLL?

如何解決這個問題,我應該選擇vb6只有當我想擴大這個或有任何選擇來解決這個問題?

回答

0

將VB 6應用程序遷移到.NET需要大量的工作量。通常不會完全重寫,但在處理非平凡的應用程序時仍然是一項相當大的工作。所以,如果你只想做一兩個小改動,那麼你應該堅持使用VB 6.

如果你決定進行轉換,是的,你需要安裝VB 6才能訪問到那些控制庫。但是你可能不想繼續使用它們。它們幾乎都是古老的控件,在.NET Framework中被更新更好的選項所取代。例如,現在應該使用System.IO.Ports.SerialPort class而不是AxMsCommLib。這是我上面討論的「工作」部分。

這是例外,它是最後一個,它需要安裝Microsoft Office。它仍然是您在VB.NET中執行Office interop的方式。

+0

thnx這個信息,但還有一件事我想知道,我有我的電腦上安裝Visual Studio 2010然後我安裝VB6,在這種情況下有可能是兩個DLL發生同名衝突? – Mogli

+0

,因爲我發現一個DLL並添加到.net項目作爲參考,然後我得到這個錯誤 - 主要參考「AxOWC」無法解決,因爲它有一個間接依賴.NET Framework程序集「System.Windows.Forms,版本= 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089「,它在當前目標框架中具有比版本」2.0.0.0「更高版本」4.0.0.0「。 – Mogli

+1

這就是告訴你,AxOWC的目標是.NET Framework 4.0版本,但是你的項目的目標是2.0版本。您或者需要查找舊版本的AxOWC,或者將您的項目更改爲目標版本4.0。 –