2013-04-12 78 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。 –