私はあなたが頼まれたことをしました。私の場合、それは (アマチュア) ボウリング トーナメント管理システムでした: メンバー データベース管理 (個人情報、IRS/賞金情報、メーリング リストなど)、トーナメント管理 (プレーヤーの割り当て、スコアリング、レーン チケット生成、賞金のチェック レジスター、サイドポットなど)、および特定の年のすべての勝者の IRS EDI 生成。さらに、約 50 の画面/サブ画面に散在する約 10 億の小さなアイテム。
重要なのはクライアントの理解です。これは些細なことではないことをクライアントが理解していることを明確にする必要があります。これはあなたの両方にとって新しい冒険です (特にあなたが VB.Net の初心者の場合)。彼らが以前にあなたの仕事を気に入っていた場合、彼らはあなたに VB.Net を学ぶ余裕/自由を与えてくれるかもしれません。
以前の回答のいくつかを読んで、いくつかの提案をすることができます (ソフトウェア開発者としての 30 年の経験に基づいており、最後の 20 年間はコンサルタントとして....)
彼らが提供する場合は、彼らのお金を受け取ります。自分のスキルセットを 20 世紀に持ち込む必要があります。彼らにお金を払わせてください (彼らが同意するならもう一度。) 彼らは雑誌をサーフィンしていて、「最新のもの」を望んでいるのに正当な理由がないかもしれませんが、このポートによって (あなたの) アプリケーションの寿命を延ばすことができることに気付いているかもしれません。本質的に、彼らはそれを行うためのあらゆる種類のばかげた理由を持っている可能性があります...彼らがあなたを雇って、この移植が良い考えであるかどうかを決定しない場合. 次に、良好な顧客関係構築のプロセスからの決定についての落胆を表明することができます。しかし、彼らがこれをやりたいのなら、それはあなたの仕事でもあります.
C# と VB.Net の比較を大まかに見てみましょう。私は創業以来、VB.Net / ASPX.net (vs C#) で独占的に働いてきましたが、VB.Net で達成できない機能にはまだ遭遇していません。VB.Net をただのおもちゃと見なす「純粋主義者」もいます。まあ、私はアセンブラー、次に C、次に C++ (そして、Fortran、PL1 を投入することもできます)、次に VB5、次に 6、そして VB.Net ... そして NOW Java for Android で書いていた時代から来ました。そのすべての楽しい...そしてそれぞれに長所と短所があります。C# と VB.Net は基本的に、メタ言語の中間体を実現するための単なる GUI であることを思い出してください。ひどい (効率やメモリ使用量、または選択した任意のメトリックによって測定される) プログラムを C# で作成し、VB.Net で優れたプログラムを作成することができます (逆もまた同様です)。(... C# は "
私は、Visual Studio が最初のパスの面倒な作業のほとんどを実行できるようにすることにしました。次に、膨大な数のエラーを調べてクリーンアップします。それはかなり速く進みます。
ただし、VB6 で手作業でコーディングしたフレームワークの利点を活用するかどうかを決定する必要があります。特定の文字を見つけるために文字列をループする EG は、The_String.IndexOf("c") と同じくらい簡単になりましたオブジェクト指向) と、私が慣れてきたフレームワークの利点... これにより、開発時間が長くなります (CLIENT UNDERSTANDING マントラを参照)。エラーを取り除くために単純に移植することができ、フレームワークから必ずしも利点を得る必要はありません。
サードパーティの Active-X コントロールに関する問題は見つかりませんでした。FRAMEWORK オブジェクト、COM オブジェクトなどへの参照を追加できます。コントロール ベンダーが .Net (マネージ コード) バージョンを持っている可能性もあります... または、VB6 で記述したため、適切な代替手段がある可能性があります。(クライアント理解マントラを参照)
したがって、まだ読んでいる場合は、VB6 から VB.Net CONVERTED/PORTED での私のアプリケーションでの 2 回目の試みは、動作するモデルに到達するのに元の時間の約 1/3 であったことを最後にお伝えします...そして私はフレームワークも学びます。(自分のスキル セットに自信があり、何年にもわたっていくつかの言語を学習している場合は、VB.Net の要点をすぐに理解できます --- そのサブトルティーにはしばらく時間がかかります。)
クライアントの理解を十分に説教しないと、彼らが移植中に変更を加えたがっている場合、本当にあなたを殺す可能性があることを警告する必要があります (そして、彼らはそれをしばらく使用しているので、これは非常に可能性が高いです. .. 私の場合も非常に真実でした。
ここには厳格なルールはありません。変更がフレームワークをより早く理解するのに実際に役立つか、または変更が本当に苦痛になる可能性があります。それらがどのフレーバーであるかを判断できるのはあなただけです。そして、それらが痛みを伴うタイプであると思われる場合-機能を確実に再現するために、最初に変換を行うように依頼する場合があります-その後、戻ってコードを確認し、変更を加え、必要に応じてフレームワークを利用します. しかし、私が言ったように、ここには厳格な規則はありません - そして、純粋主義者に別の言い方をさせないでください - 彼らはおそらく、PASCAL が世界を支配しようとしていると言ったのと同じ人だということを覚えておいてください!