私は最近、Artinsoft の VB Upgrade Companionを使用して、多くのレガシー VB6 アプリケーションを C# に変換するプロジェクトの作業を終了しました。
どのアプローチが最適かを判断するのは困難です。多くの場合、特に 2 つのプラットフォーム間で大幅に異なる機能に基づいた多くのロジックがある場合 (たとえば、インデックスが 1 つの配列や、Information.Err を介したエラーの処理)、コードの変換は非常に骨の折れる作業になる可能性があります。例外ではなくオブジェクト)。
一方、ゼロから記述しようとすると、元の VB5 コードを確認したときにすぐにはわからない微妙な動作を誤って変更してしまう可能性が高くなります。このようなものは、追跡するのが難しい場合があります。
良い妥協点は、コンバーターを使用してコードを移植し、これをゼロから作成するためのガイドとして使用することです。変換されたコードを新しいコード ベースに直接持ち上げることができる場所があることを願っています。しかし同時に、より保守しやすいコードを他の場所に書くという利点も得られます。
そうは言っても、元の VB5 が適切に作成され、(比較的) 適切に設計されている場合は、いかなる種類のアップグレードも行わないことをお勧めします。古いコードで作業するよりも、古いアプリケーションの既存の動作に一致させるためにはるかに多くの時間を費やすことになります。
あなたがやろうと決めたことは何でも頑張ってください - あなたはそれを必要とするでしょう:)