有没有人使用 Visual Studio 2010 将 VB6 项目迁移到 .Net?
我已经在 VS2005 中测试了迁移,但是生成的 .Net 代码非常混乱,我们决定不迁移到 .Net。那么 VS2010 迁移向导是否比 VS2005 或 VS2008 中的向导有所改进?
有没有人使用 Visual Studio 2010 将 VB6 项目迁移到 .Net?
我已经在 VS2005 中测试了迁移,但是生成的 .Net 代码非常混乱,我们决定不迁移到 .Net。那么 VS2010 迁移向导是否比 VS2005 或 VS2008 中的向导有所改进?
2008 年肯定没有,如果 2010 年有什么不同,我会感到非常惊讶。
VB6 和 VB.net 是完全不同的语言,除了简单的应用程序之外,MS 从未正式认可任何自动迁移路线。迁移路径是不平凡的。周围有几家公司提供迁移服务,我没有尝试过,但我的建议是自己管理。
我们目前有几个主要使用 VB6 编写的应用程序。我们的立场是,现有的工作代码不会毫无理由地迁移到 .net,但所有新代码都必须用 .net 编写(我们实际上选择了 C#)
这意味着如果我们想向现有的 VB6 应用程序添加新功能,则必须在 .net 中通过一些互操作来实现该功能。随着时间的推移,应用程序变得越来越多.net 和越来越少的 VB。我们现在有一个应用程序,它只有一个很小的 VB6 组件,其余的几乎完全在 .net 中,这要归功于这种逐渐迁移的方法。它对我们来说非常有效。一旦我们达到了 VB6 部分最少的阶段,我们只需手动转换剩余的代码而无需高成本,因为只剩下一点点。
Visual Studio 2010 不再提供上一段中提到的 Visual Basic 6 迁移向导工具。此页面链接到建议的第 3 方 VB6 迁移工具列表。
正如许多人所指出的,我非常怀疑在 VB6 升级向导上会做更多的工作。Visual Studio 中的 VB6 升级向导实际上是 ArtinSoft 的Visual Basic Upgrade Companion的精简版。
升级一个重要的 VB6 应用程序是一项相当耗时的任务,但是有很多很棒的文章,比如这篇文章,可以帮助您扫清道路:
良好的方法论和专业工具(例如 ArtinSoft 和Code Architects )的结合有望取得成功。
我会严重怀疑它,VB10 没有从 VB6 中引入任何 VB7、8 或 9 中不存在的功能,因此他们没有新的理由来更新 2005 年不存在的(可以说是不充分的)升级向导。
由于一些基本的语言更改,VB 6 的 Visual Studio 转换充其量是参差不齐的。使用VBMigration Partner 之类的第三方工具可能会取得更大的成功
由于 VS2010 仍处于 Beta 阶段,因此很难说最终产品的性能如何。现在,看起来迁移代码仍然有点困难。
我冒昧地说,VS2010 在导入像 VB6 项目一样古老的东西方面不会比以前的版本更好。很有可能,无论发生什么情况,您都必须重新编写该应用程序的很大一部分,才能从 .NET 中获得任何好处。