2012-04-20 3 views
1

可能な重複アップグレード:
Best Strategy for moving from VB6 to .NET
Conversion tool comparisons for visual basic 6.0VB6のコードが

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

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

+2

.NETアプリケーションはSTAをうまくサポートしています。残念なことに、[買い物の質問は、スタックオーバーフローのトピックではありません](http://blog.stackoverflow.com/2010/11/qa-is-hard-lets-go-shopping/)。 –

+0

@Cody Grey、提案に感謝します。私はすでにページを読んでいる:買い物の質問は、スタックオーバーフローのトピック外です。私は具体的にアップグレードするよりも、アップグレードの経験を開発者に求めています。 – w0051977

+0

また、[FAQ]を参照してください:ここでは無制限のディスカッションやディスカッションベースの質問は機能しません。 –

答えて

4

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

どこよりもクリーンなコードの名前で、リソースが正しく書き込まれるまで時間を費やしてください。これをコードをクリーンアップし、すべての.Netをテーブルの上に持ってくる機会としてこれを見てください....

そして、私はこの1つに否定的なrep'dを得るかどうか本当に気にしません。ある会社にコンバートの代わりに書き直すよう説得すれば、それはそれに値するものでした。

+1

私はこれに同意します。アップグレードしたことがありますか?合併症は何でしたか? – w0051977

+0

私は出力されたコードを見ました。それは、OOPに焦点を当てていない言語から、その周りに設計された言語に移行することですが、変換されたコードを「フラット」にするという意味では、複雑さの問題ではありません。 。 –

+1

を参照してください。オブジェクト指向ではなく、オブジェクト指向が前進しています。問題のVB6アプリケーションには多くのクラスがあります(54)。あなたが使用したツールですべてが1つに統合されると言っていますか? – w0051977

1

無料のツールを使ってコードを変換することはまともです。 VB.NETのコードは、構文の類似性にもかかわらず、VB6コードとはかなり異なるので、あなたが得た結果は、あなたが使用するツールが本当に良いものではありません。翻訳ツールを使用する場合でも、コードを完全にクリーンアップする必要があります。

+2

私が知っている無料のツールは、Microsoftのものとそれが圧倒的なものの1つだけです。それは手作業で行うことがたくさん残されています。どちらを考えていますか?レガシーコードのリファクタリングのように、変更が必要なコードに焦点を絞って、コードクリーンアップを実践的に行うべきだと私は助言します。すべての徹底的な浄化は、その方法を支払うために節約を提供する必要があります変更する可能性の低いコードをクリーニングする時間を投資する危険性があります。 – MarkJ

1

Visual Studioには、メニューFile > Open > Convert...に統合変換ツールがあります。

VB6プロジェクトの構造が整っていて、よくコメントされていて、両方の言語(VB6とVB.NET)のエキスパートである場合は、試してみてください。そうしないと変換が悪夢になる可能性があります。いずれにしても、変換後に手動で多くのものを修正する必要があります。


グーグルLanguage Changes for Visual Basic 6.0 Usersは、2つの言語の違いをカバーする便利なリンクを提供します。

+2

商用変換ツールも検討する価値があります。マイクロソフトの変換ツールは、手作業で行うほど多くのことが残されているため、これらは存在します。 VB6を大量に使用している場合の価値 – MarkJ

+0

変換ツールはVisual Studio 2008以前のバージョンにのみ存在します。 Visual Studio 2010でそれが[削除されました](http://msdn.microsoft.com/en-us/vstudio//ms788233)。 – MarkJ

3

これは、ここで一番上に投票された「常に書き直す」回答に返信したいので、重複する質問(CWとして)に対する私の回答のコピーです。

私の助言は、変換の努力を過小評価してはいけません。書き直しを開始することに非常に注意してください。楽観的に始まり、古いアーキテクチャのよく知られているいくつかの欠陥を修正して、早期に進歩させ、その後何年も前から取り組んできた機能にうんざりするのは、一般的な落とし穴です。この時点であなたの経営陣は悩み始めるとすべてが非常に不快になることがあります。私は.NETの初期の頃にして働いていた

多くの企業改善するための強い欲求によって部分的に駆動さ書き換えで最初に見えた:

...と、ここではsomewhat agrees with meがあることMicrosoftyによってブログ記事です基盤となるアーキテクチャーとコード構造を.NETに移行するのと同時に行いました。残念なことに、それらのプロジェクトの多くは困難に遭い、いくつかは完了しませんでした。彼らが解決しようとしていた問題はあまりにも大きかった.....

私はすぐに、ほとんどの企業にとって適切なアプローチとして、移行または再利用のファンになりました。興味深いことに、書き換えはこれまでよりも危険性の低い選択肢です。まだ重要なVB6プロジェクトを持っている多くの企業は、他のプロジェクトで強化された.NETスキルを持ち、ソフトウェア開発の実践を改善しました(自動テスト - IMHO for Rewriteを含む)し、VB6コードベースの要素を最後の6年間。それでも、私はまだほとんどの企業で移行または再利用の下に書き換えを置きます。 .NETへの完全な書き換えを行う優れたマイクロソフトwebpage

から

の引用は、私たちはわずかなため、このアプローチをお勧めします... [変換より]うまくやってはるかにコストがかかり、困難です状況の数。

も有名なVBの専門家ダンAppleman said:ほとんどのケースで

は、[VB.NETにVB6]を移植するには、愚かなお金の 完全に無駄です。

そしてジョエルsaidしばらく前:

単一最悪の戦略のミス 任意のソフトウェア会社が作ることができ ゼロからコードを書き直すことにした[する あります]。

マイクロソフトの別の無料書籍へのリンクを含む、移行に関するその他の便利なリンクがいくつかあります。 OneTwoThree
マイクロソフトpage「どのように移行するか」に対する答えをスクリーンキャストに掲載しています

+1

+1 VSTOのアップグレードへのVBAに関するあなたの簡単な意見を得ることができます、あなたは小さなVBAプロジェクトは変換する価値がありますか? VB6ランタイムが最新のMicrosoft OS上で動作しない場合はどうなりますか?そうすれば、多くの企業は古いOSをアップグレードすることも、古いOSを使用することもできません。 –

+1

あなたは書き直しについて考えることができる小さなプロジェクトです。私はVSTOについて何も知らない – MarkJ

関連する問題