我有一个VB5(非.net)项目,我想升级到c#项目。有没有人对可以帮助我的方法或免费工具有任何建议。
由于
布拉德
答案 0 :(得分:21)
你最好直接改写。
答案 1 :(得分:2)
我建议首先将项目转换为VB6。从那里前进会更容易。有许多工具可以帮助您完成此任务。有VBMigration Partner,vbto。我没试过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中重新实现的接口后面工作。值得注意的是图形命令和打印机功能。迁移工具通常对任何严肃的项目都毫无价值。