我正在开发一个VB6遗留应用程序。我已经开始在VB.NET中编写所有新代码,基本上创建了我所谓的互操作性层。我可以通过两种方式来解决这个问题:
我的问题是,哪种方法更好?
更新 我赞成选项1的原因是因为有一个ASP.NET应用程序。以前的开发人员将有效地复制两个应用程序中的代码,即VB6和ASP.NET。因此,ASP.NET应用程序中的某些代码可以与VB6共享,反之亦然。这就是为什么我认为选项1更好,但我找不到任何文献建议开发人员实际这样做
答案 0 :(得分:2)
在前世,我参与了同一类型的项目。原始应用程序是使用Access编写的框架。然后是VB6,它看起来工作得很好,允许更多的功能,而不必改变Access中最初编写的内容。
一起来了.Net ......
...尽管我不喜欢.Net的开发阶段,并且被迫使用互操作性层,但这是必要的。
那就是说,我会尽可能主观地回答这个问题:
如果您知道应用程序要完全转换为.Net,那么尽可能多地使用.Net进行新的开发。除了关于互操作性的看法(和真理)之外,我没有理由把它推迟 - 例如更多的开销,性能等。
侧栏 - 至少你没有与Access的互操作性问题......当它崩溃时,它会带来一切。这是我第一次使用互操作(使用Access),它并不漂亮。
等待.Net开发的优势:
等待.Net开发的缺点:
开始.Net开发现在将增加您长期成功的机会。我不相信互操作层会让你感到头疼它 - 而且性能的任何降低应该是最小的。
我不知道你是否参与了这个项目的开发团队,但是如果你这样做,请确保每个人都加入到.Net中。我见过一些VB6开发人员在VB.Net上的头灯姿势中打了一个亲爱的。性质是继续以他们习惯的相同风格写作。
答案 1 :(得分:0)
我个人会使用你的第一个选项(因为你已经实现了你的互操作性层),这样你就可以在不那么痛苦的情况下进行重写......如果你正确设计了类结构。第二个选项将是我的首选方式,但由于您受时间限制,请使用第一个选项。最终VB6运行时不会成为新版Windows的一部分,请参阅此SO question。我自己有一个需要转换的VB6应用程序。
答案 2 :(得分:0)
专注于为用户提供他们想要的东西。 如果在vb6中更容易实现这一点,那么就这样做。 担心在需要转换为vb.net时转换为vb.net。 将vb6转换为.net的工具现在很漂亮 好的,正在不断发展,所以可以期待进一步改善。