1

重複の可能性:
VB6 から .NET に移行するための最良の戦略
Visual Basic 6.0 の変換ツールの比較

商用の VB6 アプリケーションを VB.NET アプリケーションに変換するために推奨できる優れたツールはありますか。無料のものと商用のものをいくつか見つけましたが、試して失敗した、または試して成功した開発者のレビューや意見を見つけることができません.

関連する複雑さは何ですか?VB6 が COM に基づいているのに対し、.NET はマネージド コードやマルチスレッド アパートメントなどを使用していることを知っています。

4

4 に答える 4

4

しないでください。変換しないでください。書き直してください。申し訳ありませんが、コードは変換できますが、変換する必要があるという意味ではありません。

どこにでもあるよりクリーンなコードの名の下に、それを正しく書くためにリソース時間を費やしてください。これをコードをクリーンアップする機会と見なし、.Netがテーブルにもたらすすべてのものを活用してください。

そして、私がこれについて否定的な評判を得ても、私は本当に気にしません。ある会社に改宗する代わりに書き直すよう説得すれば、それだけの価値がありました。

于 2012-04-20T20:24:13.880 に答える
3

これは、現在ここでトップ投票されている「常に書き換える」回答に返信したいため、重複した質問 (CW として) に対する私の回答のコピーです。

私のアドバイスは、変換の労力を過小評価しないでください。書き直しに着手する際には十分に注意してください。楽観的に始めて、古いアーキテクチャのよく知られた欠陥のいくつかを早期に修正し、その後、何年もの間当たり前だと思っていた機能に行き詰まるというのはよくある落とし穴です。この時点で、あなたの経営陣は神経質になり始め、すべてが非常に不快になる可能性があります.

...そして、これはMicrosoftyによるブログ投稿で、私に多少同意します:

私が .NET の黎明期に一緒に働いていた多くの企業は、.NET への移行と同時に、基盤となるアーキテクチャとコード構造を改善したいという強い願望に突き動かされて、最初に書き直しに目を向けました。残念なことに、これらのプロジェクトの多くは困難に陥り、いくつかは完成しませんでした。彼らが解決しようとしていた問題は大きすぎました.....

したがって、私はすぐに、ほとんどの企業にとって適切なアプローチとして、Migrate or Reuse のファンになりました。興味深いことに、書き換えは以前よりもリスクの少ないオプションです。まだ重要な VB6 プロジェクトを持っている多くの企業は、他のプロジェクトで得た強力な .NET スキルを持ち、ソフトウェア開発プラクティス (自動テストを含む - Rewrite には必須) を改善し、時間をかけて VB6 コードベースの要素をリファクタリングしています。過去6年間。とはいえ、ほとんどの企業では、Migrate または Reuse の下に Rewrite を配置します。

優れた Microsoft Web ページからの引用

.NET への完全な書き換えは、[変換よりも] はるかにコストがかかり、適切に行うのが困難です ... このアプローチは、少数の状況でのみ推奨されます。

また、著名な VB エキスパートである Dan Applemanは次のように述べています。

ほとんどの場合、[VB6 を VB.NET に] 移植するのはばかげており、お金の無駄遣いです。

そしてジョエルは少し前に言った:

ソフトウェア会社が犯す可能性がある唯一の最悪の戦略的過ちは、コードをゼロから書き直すことです。

Microsoft からの別の無料の本へのリンクを含む、移行に関するその他の便利なリンクがいくつかあります。 1 つ2つ。「移行方法」への回答を含むスクリーンキャストを含む
Microsoftのページ

于 2012-04-21T06:01:02.633 に答える
1

Visual Studio には、 menu に統合された変換ツールがありますFile > Open > Convert...

VB6 プロジェクトが適切に構成され、十分にコメントされていて、両方の言語 (VB6 と VB.NET) の専門家であれば、試してみることができます。いずれにせよ、変換後に多くのことを手動で修正する必要があります。


Visual Basic 6.0 ユーザー向けの言語の変更点をGoogle で検索すると、2 つの言語の違いをカバーする便利なリンクが表示されます。

于 2012-04-20T20:40:54.143 に答える
1

ほぼすべての無料ツールで、コードを適切に変換できます。VB.NET コードは VB6 コードとは構文が類似しているにもかかわらず、まったく異なるため、どのツールを使用しても得られる結果はあまり良くありません。翻訳ツールを使用する場合でも、コードを徹底的にクリーンアップする必要があります。

于 2012-04-20T20:31:22.580 に答える