.net 缺少AxMSForms COM库
我有一个在VS2003中开发的旧vb应用程序。我仔细地将它升级到vs 2015。此应用程序使用一些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
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),也来自其他供应商。如果你不确定你的依赖关系是什么,也许这会有帮助:谢谢,我会查出来的