我们已经为游戏行业提供了vb6 win应用程序。主要有3个大模块。对于第一个模块/部分,我将vb6代码转换为vb.net库。我在wcf duplex服务中使用该vb.net库来使用现有的业务逻辑和获取/设置数据。而且,这个wcf服务,我在silverlight应用程序中使用。第一部分是处理大量计算,所以我没有将vb6代码转换为c#,而是转换为vb.net。甚至,旧的vb6代码具有硬编码的sql查询,而不是调用预编译的存储过程。我在vb.net库中保持不变。
现在,客户希望将整个系统转换为silverlight Web应用程序。而且,所以我认为对于2个模块的其余部分,我应该将vb6代码转换为c#,因为计算量更少,数据库操作更多。此外,我将清理代码以使用存储过程而不是硬编码查询。
所以,请告诉我 如果我的方法是正确的。这里有什么问题?在进一步处理之前我应该考虑哪些事项?我应该手动将vb6转换为c#吗?我知道有vb.net到c#转换的工具,但不知道vb6到c#。有关将代码从win app迁移到面向服务的体系结构的任何建议吗?
非常感谢:)
答案 0 :(得分:2)
将VB.net带到c#的工具远非完美,所以我非常怀疑从VB6到c#的过程将是无痛的。 .NET的一个美妙之处在于它允许轻松集成组件,无论其原始编程语言如何。因此,将旧代码迁移到VB.net(简单,便宜),组件化并在c#中编写新代码应该没有任何问题。
您需要问问自己:如果代码恰好是C#而不是VB.NET,那么客户的业务价值/收益是什么?
成熟代码库的性能,可重用性,可维护性等与C#vs VB.net不太可能存在显着差异。我敢打赌,将成熟的代码转换为c#而不是vb.net会引入更多问题,而不是解决问题。
答案 1 :(得分:0)
我建议使用这些工具http://www.artinsoft.com/visual-basic-6-or-csharp-to-the-web.aspx 他们从VB6迁移到Silverlight和WCF服务