12

我的公司有一个大问题。我们在 Delphi.NET 中开发了一个包含超过 1.000.000 行代码的应用程序。正因为如此,我们被 Delphi 2007 和 .NET 2.0 困住了。

随着技术和用例的发展,我们需要迁移到另一个开发平台。到目前为止,我们尝试了几种承诺将 Delphi.NET 转换为 C# 代码的工具 - 每个工具都有一些问题,例如字符串索引错误(Delphi 1 C# 0)或使用类型声明数组边界时。

采用这种方法后,我们尝试反编译 Delphi.NET 程序集——从中返回的代码难以阅读,并且有数百个辅助函数调用 Borland 特定程序集。我已经研究过自己编写转译器的可能性,但是 Delphi 的模棱两可的语法很难用直截了当的语法来实现。

所以现在有个很好的问题,是否还有任何可能不包括手动翻译所有代码?或者可能是允许部分和逐步迁移的迁移路径?

4

1 回答 1

4

查看以下工具: http ://www.9rays.net/TourStep.aspx?TourStepID=21

虽然它可能不像通过它运行整个 Delphi 应用程序并获得 C# 源代码那么简单,但这些 IL 翻译器/反编译器非常准确。我的建议是运行一些程序集并通过回归测试来抽查准确性。您必须在生成的代码中进行一些修复的可能性非常高,但这比重写整个应用程序要好。

另外:查看http://blogs.msdn.com/b/danielfe/archive/2004/06/15/156087.aspx

于 2014-06-25T14:07:59.003 回答