Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 缺少AxMSForms COM库_.net_Vb.net_Visual Studio_Vb6_Vb6 Migration - Fatal编程技术网

.net 缺少AxMSForms COM库

.net 缺少AxMSForms COM库,.net,vb.net,visual-studio,vb6,vb6-migration,.net,Vb.net,Visual Studio,Vb6,Vb6 Migration,我有一个在VS2003中开发的旧vb应用程序。我仔细地将它升级到vs 2015。此应用程序使用一些COM库。当我尝试构建应用程序时,它会给出一个错误: Severity Code Description Project File Line Suppression State Error BC30002 Type 'AxMSForms.AxImage' is not defined 我发现一些名为AxMSForms.dll的dll导致了该问题。在哪里可以获得那些COM

我有一个在VS2003中开发的旧vb应用程序。我仔细地将它升级到vs 2015。此应用程序使用一些COM库。当我尝试构建应用程序时,它会给出一个错误:

Severity    Code    Description Project File    Line    Suppression State
Error   BC30002 Type 'AxMSForms.AxImage' is not defined
我发现一些名为AxMSForms.dll的dll导致了该问题。在哪里可以获得那些COM库文件


如果问题不清楚,请随时提问。

我很确定,当您将ActiveX
OCX
文件的引用添加到VB.NET(或C#)项目中时,Visual Studio会自动创建一个
Ax…..dll
文件

您应该尝试从项目中删除并重新添加对OCX的引用。这可能会使VisualStudio重新生成包装DLL。这在过去对我很有效

说明:

ActiveX控件总是(?)打包在
OCX
文件中,该文件只是一种COM DLL,因此使用COM对象来表示它提供的控件


.NET代码不能直接利用COM对象,因此开发工具将创建包装类,为您提供对COM对象的访问。OCX DLL是一种特殊情况,因为VisualStudio不仅提供COM包装,还提供将ActiveX控件映射到Windows窗体控件的包装。这就是丢失的AX DLL应该包含的内容。

从我能找到的内容来看,这些似乎是Office VBA使用的控件。为什么不用本机.NET控件替换它们呢?即。您已将其标记为VB6,但我不确定VB6与问题有何关系。你能澄清一下吗?@VisualIncent你能说清楚吗?我怀疑这是一个Activex控制器。Activex控制器可以被替换吗?如果是,请提供链接或其他帮助。感谢you@PeterCooperJr. 我不确定。但是我认为它是vb.net,因为项目文件的扩展名是.vbproj。但是这些ActiveXControl只是Vb6的一部分,对吗?你是说“控制器”还是“控件”?如果是前者,我不知道那是什么。如果是后者,当然。为什么你不能替换它们?当然,这取决于控件的用途,但是如果我在最初的评论中所说的是准确的(我不知道,这似乎只是基于我能找到的内容),那么就不应该有什么特别的东西是
PictureBox
不能做的。这些Activex控件是作为vb 6.0 sp 6包的一部分提供的吗?因为,当我构建这个应用程序并将其安装在安装了VS2005的pc上时,它运行良好。但是,当我在另一台没有VS 2005的电脑上安装并运行同一版本时,它会显示“somedll.dll存在或其依赖项丢失”。在他们那个时代,ActiveX控件既来自VB6(即Microsoft),也来自其他供应商。如果你不确定你的依赖关系是什么,也许这会有帮助:谢谢,我会查出来的