将VB6项目打成块以使用Artinsoft的免费版本

时间:2011-11-20 07:51:26

标签: c# vb6 vb6-migration

我正在尝试将大型(200K行)VB6项目转换为C#。我只想转换表单设计,因为我想重写C#中的所有实际代码。

我想使用免费的Artinsoft转换器,但这只允许10K行的项目。我想我可以将VB6项目分解为20个单独的项目,然后使用Artinsoft生成C#.NET表单,然后将转换后的表单重新放回到一个C#项目中。

这可行吗?

编辑:这会有用吗?有什么潜在的问题?

2 个答案:

答案 0 :(得分:1)

我会按照以下顺序尝试

1)至少为主要业务运营编写自动化测试用例

这将为您节省很多麻烦,以便稍后验证结果。

2)重构你的VB(尝试在单独的类/ DLL中移出你的业务逻辑)。

3)您可以使用步骤1中编写的自动化测试用例来验证您的重新分解。

4)现在你有小块,这也可以帮助你创建块然后你可以使用Artinsoft。

5)你的新C#应用程序将很好地分层。

6)在新应用程序和旧应用程序上运行在步骤1中创建的测试并比较结果并继续改进,除非它们匹配:)

答案 1 :(得分:1)

我建议不要在UI中使用转换器。它可能看起来微不足道,但有些功能在.NET中本身不存在(控件数组没有大包装器)。它创建的控件包装器使用和维护都不好玩。

VB6端口不好;用户界面和代码。如果你继续沿着这条路走下去,有些事情可以帮助你。

  1. 删除所有未使用的表单和代码
  2. 确保没有控制数组,如果有,则使用正确的相关代码
  3. 获取包含在类中的所有逻辑
  4. 确保您没有直接调用/加载/引用表单,并且您正在使用实例化对象
  5. 确保使用良好的封装实践和良好的面向对象设计模式
  6. 我会认真重新考虑转换。转换后的代码/用户界面听起来很棒,但是在我使用VB6转换的糟糕体验中,由于VB6允许开发人员有多糟糕以及根本不再存在的功能,因此存在很多问题。

    为自己做一个大忙...开始一个新项目,创建一个继承自您使用的标准控件的自定义控件库,并在任何地方使用它们。不喜欢Cliptext在C#和VB6中使用蒙版文本框的方式吗?扩展或覆盖它。希望您的所有列表视图都可以排序吗?简单的单点实施。在一年内发现企业需要对90%的文本框进行拼写检查?容易。