VB6 风险和迁移

VB6 risks and Migrating

我想知道是否有人可以帮助我。我的公司正在决定将用 VB6 编写的现有应用程序迁移到 .NET。我列出了有关保留 VB6 的风险列表,以帮助他们做出切换到 .NET 的决定。 VB6 的风险包括:

关于安全性,我被要求详细说明这一点。该应用程序是内部的,不会向客户公开。考虑到这一点,它将位于公司安全基础设施的后面,那么这会减少安全问题吗?另外,还有没有其他我没有考虑到的风险?

保留 VB6 应用程序的主要风险是未来的可维护性。 VB6 运行 时代不会有任何进展,因此任何 VB6 应用程序都应该继续 运行。然而,VB6 IDE 在 XP 之后的任何 OS 中变得越来越不稳定,需要一些 hack 才能安装它并 运行 正确。此外,越来越难找到熟练的开发人员,因为愿意从事这种过时技术的人越来越少。

很多很多事情都可以在 .Net 中轻松完成,而在 VB6 中却非常痛苦。恕我直言,潜在收益非常值得短期痛苦。

(目前正在将我公司的核心 VB6 应用程序转换为 .Net)

努力将应用程序移植到 .Net 没有多大意义。您可能最好或更好地花费精力将其移动到 Java 或 B4J 或其他东西。那么至少你有可移植性,当 Windows 或 .Net(或两者)消失时,这是一个重要的问题。

在那之前,VB6 提供了无与伦比的稳定性,几乎不存在因工具链变动而导致的支持成本。转向任何其他开发工具都会牺牲那些意想不到但有价值的功能。一些人称之为诅咒的东西变成了一种祝福。这就是为什么这么多 Cobol 仍在生产中的原因。

甚至 Windows ARM64 也可以 运行 VB6 x86 程序。在 Windows 本身消失之前,我没有看到 VB6 支持消失。

开发资金最好花在清理代码库上,而不是为了移植而浪费精力在移植上。

这个问题很老,但其中很多内容仍然适用。

Risks around VB6 include the following:

  • 功能减少:毫无疑问,VB6 不再是受支持的平台。将它与新平台集成变得越来越困难。
  • 安全风险:对于内部应用程序,您公开的参数可能是正确的。然而,在 VB6 运行时发现了一些漏洞,由于其不受支持的状态,使其成为易受攻击的目标。
  • 性能滞后:VB6 的性能非常好。迁移到较新的平台可以获得一些性能优势,但不会有那么多。
  • 用户界面问题:一些 VB6 已经设法拥有一个看起来很现代的 UI。所以总的来说,我在这里没有看到很多风险。
  • 有限的技术支持:这显然是一个风险,特别是因为现在没有那么多合格的 VB6 开发人员。
  • 不兼容问题:嗯,这取决于。这可能是由于缺乏支持而特别发生的,但这确实取决于。

尽管对某些答案有意见,但我绝对相信转换工具的价值。免责声明我在一家销售转换工具的公司工作。

在我的公司 (https://www.mobilize.net),20 年来我们一直在将 VB6 应用程序成功升级到 .NET WinForms 和 Web。

我们认为一个好的项目的关键要素之一来自规划。我们首先创建一个 BluePrint(在此处查看更多信息 https://www.mobilize.net/solution/legacy-solutions/migration-blueprint),它主要是应用程序或完整应用程序组合的所有资产的详细清单。

我还推荐阅读像 (https://blogs.artinsoft.net/) and there is a free book you can review: https://migrationguide.artinsoft.com/

这样的博客

如果您的 VB6 应用程序仍然存在,则意味着它是独一无二的并且不容易被替换。重写可能是一种替代方法,但迁移是