从VB6迁移到.NET时,使用Visual Studio 2010的技巧和建议

3

我想将一个vb6应用程序迁移到Visual studio 2010的.net平台。目前该应用程序是基于Windows的应用程序,我想把它变成Web应用程序。 我猜我必须要在.net平台上重新编写代码。请你在我重写.net代码的过程中给予建议。


标签的作用是对问题进行分类。在使用“vb6 to .net migration”时,不需要使用“to”,因为它并没有帮助对问题进行分类。 - John Saunders
@John,@pradeepmada 我认为标签“vb6-migration”对这些问题很有用。免责声明:我是发明者,但我认为社区似乎很喜欢它。 - MarkJ
3个回答

2

如果您的VB6应用程序由多个具有清晰接口的COM对象组成,则应该能够重复使用那些不涉及UI的组件。您可能希望利用公司中的VB6专业知识将任何UI代码与业务逻辑分开。业务逻辑可以在Web应用程序中被重用。


2
有很多有关转换策略的建议。其中一种可能很有效的策略(正如John所说的那样)是使用Interop将VB6后端与.Net Web前端混合使用。

其他一些资源:


0

这取决于原始应用程序的结构是否良好。一个良好结构的应用程序可以在转换为Web应用程序时具有相当高的重用性。不幸的是,绝大多数VB6时代的代码都是良好结构的,这使得您的工作更加困难。

Visual Studio能够导入VB6项目并将其转换为VB.NET,但映射并不完美。再加上我上面提到的常见于许多VB6代码的糟糕结构,您最好彻底放弃原始项目并重新开始。

当然,这高度依赖于许多因素。您可能很幸运,正在处理其中一种罕见的宝石:一个结构良好、视图和代码清晰分离的VB6项目。


3
放弃原始项目重新开始似乎很有吸引力,但可能导致失败。“我曾经与.NET早期合作过的许多公司首先考虑进行重写,部分原因是出于强烈的改进底层架构和代码结构的愿望,同时转移到.NET。不幸的是,这些项目中的许多都遇到了困难,有几个项目甚至从未完成。他们试图解决的问题太大了。” 一位微软内部人士所说。来源:http://blogs.msdn.com/goto100/archive/2008/11/03/rewrite-vs-migrate-vs-reuse-vs-replace.aspx - MarkJ
1
@MarkJ:有时候你别无选择,只能重新开始。将桌面应用程序转换为基于Web的应用程序就是一个典型的例子。我见过的最好的过渡方式是在旧应用程序上封装开发并重新开始。预计这需要一段时间。但在开始之前,请冷静地看一下桌面应用程序实际拥有的功能。所有这些都需要复制吗?更重要的是,哪些功能必须在Web应用程序的第1版中复制。 - NotMe
话虽如此,并非每个桌面应用程序都需要转换,只有在存在有效的业务原因时才应该采取这种方式。几年前,我们经历了从经典asp到c#和asp.net的迁移。它是一次完全重写,并且非常成功。我们没有保留所有旧功能,只选择了必须具备的功能并启动了它。自那以后,我们已经赶上并超越了先前的功能水平。我们有一个优势,即编写原始版本的团队是进行重写的同一团队。 - NotMe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接