【问题标题】:Migrating videosoft vsindextab from VB6 to VB.NET将 videosoft vsindextab 从 VB6 迁移到 VB.NET
【发布时间】:2025-12-09 10:00:02
【问题描述】:



我有一个需要迁移到 VB.NET 的 VB6 项目。

我尝试使用 VB.NET express 2005 和 2008 的迁移工具,结果相同。

当我尝试在设计器模式下在迁移的结果项目中打开包含 videosoft 的 vsindextab 组件的表单时,我收到以下错误:

Warning 1   Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME)) C:\gestionbtdotnet\FormBT.Designer.vb   261 0   

错误的行在designer.vb文件中,如下:

CType(Me.vsIndexTab1, System.ComponentModel.ISupportInitialize).BeginInit()

(vsIndexTab 是一个 vsOcx6lib.vsindextab 对象)

我在整个网络上搜索了它,但找不到任何东西。

我尝试使用不同的 .NET Framework 版本,我尝试将 ocx 文件 (vsocx6.ocx) 复制到每个可能的位置,我尝试简单地擦除错误的行。

没有运气。

谁能帮帮我?

【问题讨论】:

  • 您只能迁移代码。依赖于仅二进制的第三方组件(如vsindextab)的项目将不会迁移。您必须找到该组件的替代品,并重新编写代码以使用新组件,或者至少从任何设计时使用中删除该组件并构建自定义dllimport 代码以在运行时使用该组件。
  • @JoelCoehoorn - 对于这个问题,这听起来是一个很好的答案。
  • 是的,但这并不能解决他的问题,所以我不愿意将其添加到答案空间。也许如果我能推荐一个合适的 .Net 替代品,它会更有意义。
  • 好的,我能够改进评论以呈现选项。这更适合作为“答案”:)

标签: vb.net vb6 windows-forms-designer vb6-migration


【解决方案1】:

您只能迁移代码。依赖于仅二进制且不兼容 .Net 的第三方组件(如此处使用的 vsindextab 组件)的项目将迁移。以下是您的选择:

  1. 请与原始供应商联系以获取相同组件的 .Net 版本。
  2. 为该组件找到另一个与 .Net 兼容的替代品,并重新编写代码以使用新的替代品。
  3. 重写现有代码以避免在设计时的任何地方使用该组件。将该部分分解到它自己的库中,您只能在运行时调用。然后构建自定义 dllimport 代码以在运行时使用该库。
  4. 依靠现有的 .Net 小部件编写您自己的组件替换。

【讨论】:

    最近更新 更多