如何将VB5项目转换为c#项目

时间:2009-01-12 15:40:08

标签: c# vb6-migration vb5

我有一个VB5(非.net)项目,我想升级到c#项目。有没有人对可以帮助我的方法或免费工具有任何建议。

由于

布拉德

10 个答案:

答案 0 :(得分:21)

你最好直接改写。

答案 1 :(得分:2)

我建议首先将项目转换为VB6。从那里前进会更容易。有许多工具可以帮助您完成此任务。有VBMigration Partnervbto。我没试过YMMV。

如果成本是一个约束,你可以试试这个:Visual Studio中有一个向导,它将尝试将VB6升级到VB.NET。它不是100%准确,你将不得不编写VB.NET不支持的代码,如控件数组等。一旦代码在VB.NET中,您可以使用像SharpDevelop这样的工具来转换VB .NET到C#。这将有点单调乏味,但我想所有的道路,无论多么复杂,都会通往罗马。

答案 2 :(得分:2)

如果您能够将其迁移到VB6,您可以使用code advisor查看如何修复项目以与vb.net兼容,然后您可以迁移到vb.net,以防万一成功,您可以使用this工具将其转换为c#或Reflector

我给它1x10 ^( - 100)%的机会工作。 祝你好运。

答案 3 :(得分:1)

如果您要将VB5转换为.NET(无论是C#还是VB.NET),最快的方法是从实现中重新启动0,这样您就可以充分利用.NET Framework类。我不知道是否有工具可以自动执行此转换。

答案 4 :(得分:1)

从一种语言到另一种语言进行严格的转换很少是一个好主意,特别是当它们与VB5和C#不同时。

理论上,您可以将VB5转换为VB6,然后将VB6转换为VB.NET,然后将VB.NET转换为C#,但在我输入时,这听起来很疯狂。

C#比VB5强大得多,无论如何你都不想隐藏代码。毕竟,由于VB的弱OO能力,它可能设计很差。

我建议您重新实现C#中所需的功能(或您想要使用的任何其他语言)。

答案 5 :(得分:0)

我知道存在转换工具,但不确定是否有一些用于vb5。

但是,我建议重新设计项目,利用vb5中不可用的.net功能。特别是对OO语言进行重新设计是很好的。

答案 6 :(得分:0)

将VB5迁移到C#只是为了拥有.NET绝不是一个好理由。我希望能够很好地了解我在VB5版本中做出的假设和设计决策,重新考虑所有这些,添加新想法,绘制用户界面并改进它以使其更接近现代版本。

然后这是一个新项目,我甚至不会称之为重写,因为会有很多改变。

答案 7 :(得分:0)

我已经将一个小的1层VB6应用程序迁移到C#,我再也不会这样做了。

那里有 应用程序,从VB6迁移到VB.Net做得相当不错。

//马格努斯

答案 8 :(得分:0)

我过去做过,但不推荐。在“自动迁移”之后让项目正常工作是不值得的。我最终改写了程序,并因此而更好。

答案 9 :(得分:0)

自己完成这项工作后,我将讨论所涉及的问题here.

基本上作为ocdecio,你至少要看部分重写。您可能需要重构表单以尽可能多地移动代码。您还需要重构任何VB6特定功能,以便在可以在.NET中重新实现的接口后面工作。值得注意的是图形命令和打印机功能。迁移工具通常对任何严肃的项目都毫无价值。