2009-04-05 11 views
14

ここでは、vb6コードを.net言語に変換するために、次のいずれかのツール(または他のツール)を使用していますか?ビジュアルベーシックの変換ツールの比較6.0

Artinsoft's upgrade companion(C#に変換してvb.net)を

vbmigration partner(vb.netに変換)

は彼らをどのように有効であった、あなたはどのようなサイズのプロジェクトを変換したのですか?

その後、どのくらいの作業が残されましたか? 得られた.netプロジェクトにどのくらいの幸せを感じていますか? サポートはどのようなものでしたか? これらのツールのユーザーはどこにでもサポートフォーラムがありますが、いずれも ベンダーは提供していないようです。

彼らは、その価格が公開されていないと私は上記の例

答えて

4

私はあなたがすでにVB.NETにVB6を移行するためのツールについてquestionを見てきましたと思います。

両方とも、このMicrosoft UK page基本製品で、英国市場向けの特別価格を公開しています。もちろん、あなたはおそらくそれらを連絡する必要がないので、現実的な判断を行うための基本的な製品とあなたの市場の価格の限界を知っている必要があります:(

  • Artinsoft最大50,000のためのコンパニオンデベロッパー版£199をアップグレードコードの行。今のコードの10,000行までを行うことができますfree versionを提供EDIT
  • コード建築家のVisual BasicのマイグレーションパートナーのProfessional Edition £399。彼らは、これは、コードの最大50,000行にもだった私に言いました。

組み込みのMicrosoftアップグレードウィザードは哀れです。according to the guy who wrote it - もちろん、彼はArtinsoftの製品ですので、より良いものを販売したいと考えています。 Microsoft UKでもsay ArtinsoftとCode Architectsのツールは組み込みのアップグレードウィザードより優れています。

EDIT:コード・アーキテクトに見積もりを依頼したが、彼らは非常に迅速に対応した。このスタックオーバーフローとは異なりquestionによって怒っているハッカー悪い経験をした。しかし、Francesco BalenaがStack Overflowで12時間以内に質問に答えることができました。これはより奨励的です。

+0

これらの価格は私がこれまでに聞いてきた価格よりはるかに低いです。私は、VBの移行パートナーの専門家のために2,000ドル以上の引用を聞いたことがあり、エンタープライズエディションの方がはるかに高い – kjack

+0

彼らは英国にのみ適用されているようです。 – kjack

+0

はい、「英国市場では」と言いました。私は彼らが価格を与えるページにリンクしました。移行パートナーエンタープライズ版の見積もりは、プロ版よりもはるかに多かったです。私はちょうど私に引用符だったので、私は正確な図を共有する必要があります感じていない。 – MarkJ

1

の両方のために異なるソースから乱暴に異なる価格を聞いた私が言及したツールのいずれかを使用していないが、少し準備して、何を充電しましたVisual Studioのアップグレードツールは十分なものです。

最初にする必要があるのは、MicrosoftのVisual Basic 6 Code Advisorです。これは、プロジェクトの移行を準備する上で大きな助けになります。

+0

おかげさまで、vb6コードアドバイザーがExcelを必要とし、エクセルのコピーが過去にあまりにも古くなったと信じていますか?(今でもOKです:)) – kjack

+0

Microsoftのツールは執筆者それは(誰かがあなたに何か良いことを売りたがっている)。 http://www.devx.com/vb/Article/16822そして、Microsoft UKは、あなたが尋ねる2つのツールはウィザードよりも優れていると言います。http://msdn.microsoft.com/en-gb/dd408373 – MarkJ

4

「昇格」VB6から.NETへの誤称です。あなたが得るのは.NETのVB6コードだけです。一般的に、リファクタ/リアーキテクチャーを使用すると、たとえば、異なるクラスモデルを使用して、より良い結果を得ることができます。たとえば、単体テスト可能に設計するなどです。またはIoCを使用します。

コードを動作させたいだけであれば、それをテストできると自信があります。

個人的には、私は真剣にマニュアルポートを検討します。そして、私はレガシーVB6コードのを持っているので、私は痛みを知っている。

これに直面するたびに、C#で簡単に書き直しました。アプローチとして、それは何度も何度も実証されています。

実際には - 私はBrownfield Application Deveopment(マニング)をお勧めします - それはあなたが始める前に持っているものについていくつかの貴重な洞察を与えるかもしれません。

Brownfield

+0

本当に私はちょうどネットで動作するようにwnat。書き直しはあまりにも長くかかるだろう。 – kjack

+0

書き換えたプロジェクトの大きさはどれくらいですか? – kjack

+0

さて、元のコードベースはVB6の何百ものCOM + dllですが、適切な程度のコンポーネント分離が必要です。必要な機能だけを移植しました。まだVB6のDLLが落ちていますが、動作します...今のところ... –

3

変換ツールがVB6グラフィックコマンドまたはVB6プリンタモデルをサポートしていないという問題があります。さらに、ActiveXコントロールを扱う際に、多くのコーナーケースが発生します。 VB6フォームエンジンでスムーズに動作するように、多くの調整がUIに組み込まれているので、私たち自身のCAD/CAMアプリケーションが変換ツールで変換されないことはわかっています。

これは、WinFormエンジンが独自の調整を必要とするため、変換ツールが失敗することです。私たちのソフトウェアがDOSからVB3に移行したときも同じことが起こりました。場合によっては、手動変換に代わるものはありません。

これで、変換をかなり簡単にすることができます。まず、アプリケーションがレイヤーで構築されていることを確認します。このようにして、一度に1つのレイヤーを変換し、テストし、続けていくことができます。また、あらゆるステップで使用可能なソフトウェアを残すという利点もあります。私はトップ(フォーム)レイヤーから始め、あなたの方法をダウンして作業することをお勧めします。

中心のインターフェイスの背後にあるVB6の中心と基本ではないことを確認何をしてください。 .NETが初めて数年前に登場したとき、私はCanvas Interfaceを作成し、VB6 graphicsコマンドを使って実装しました。 VB.NETで同じCanvasインターフェイスを使用していますが、Graphicsオブジェクトを使用しています。同じことがプリンタで行われました。

ほぼすべてのコードは、フォームが呼び出されるクラスに私たちのフォームの外に移動されました。フォーム自体は、UIクラスが使用するインターフェースを実装します。 .NETに切り替えたとき、フォームがシステムの残りの部分とどのように相互作用し、フォームの変換がどのようにして行われたかを正確に定義しました。

これらの手順はすべてVB6で行われ、私たちの通常のリリースQ &の処理が行われます。その後、私たちは変換を開始しました。

+0

vbmigrationパートナーは1歳未満のかなり最近の製品です。あなたは、変換ツールがアップグレードウィザードを超えて確かに改善されたと思っています。 – kjack

+0

ArtinSoftは、CAD/CAMアプリケーションに役立つものは何も追加していないようです。しかし、vbmigrationは私が行ったのと同じアプローチを取っているようだ(互換性のあるサポートライブラリを構築するなど)。ありがとう。 –

+0

あなたはプリンタモデルについて言及しましたか?VB.NETパワーパックのPrinter Compatibility Libraryを見ましたか?プリンターのオブジェクトコードを簡単にアップグレードします。 http://msdn.microsoft.com/en-us/vbasic/bb735936.aspx – MarkJ

0

私はVBマイグレーションパートナーのプロフェッショナル版は昨年のための$ 2500引用されました。 私はそれを購入できませんでしたので、私はそれにコメントすることができます

5

私はEugenio La Mesa、Code Architectsゼネラルマネージャーです。私は、VB Migration Partnerと変換ツールに関するいくつかのコメントを一般的に読んで、うまくいけば役に立つヒントを追加するかもしれないと考えました。

最初に、私たちの変換ソフトウェアは、DrawModeとClipControlsを除いて、すべてのVB6グラフィックプロパティとメソッドをサポートしています。 AutoRedrawプロパティとユーザー定義のScaleMode座標もサポートしています。そのため、CADのようなプログラムをVB.NETに移行することは、当社のソフトウェアの手の届くところにあります。 www.vbmigration.comのコードサンプルセクションには、最小限の労力で.NETに変換されたグラフィック集約型VB6アプリケーションの多くの例が含まれています。

次に、価格構造を明らかにする。 VB Migration Partnerの2つのエディションを販売しています。Professional Editionは、VB6アプリケーションを最大でも変換できます。Enterprise Editionはサイズ制限がなく、ソースコード管理ソフトウェアとの統合や元のVB6 DLLとバイナリ互換の.NETコンポーネントの生成など、いくつかの高度な機能をサポートしています。 N層のCOMベースのアプリケーションの段階的な移行を実装します。

プロフェッショナルエディションの価格は399ポンドで、2009年6月30日まで、英国向けのMicrosoft UKマーケティングキャンペーン中、および最大50Kライン(LOC)のアプリケーション向けの特別プロモーションです。 Enterprise Editionの価格は、ライセンスの数や移行するLOCの数など、いくつかの要素に依存するため、変更される可能性があります。これにより、異なる価格見積もりが表示される理由を説明します。また、最近、経済状況に対する答えとして、リスト価格をやや下げました。また、主な製品からいくつかの機能を取り出して別々に提供する予定で、これによりより柔軟な価格構造が実現します。

まあまあ、25〜50KのLOCを使用するアプリケーションでは、通常、手作業による書き換えをお勧めします。実際、我々の焦点はエンタープライズ市場のセグメントで、数百万ではないにしても数十万のLOCを持つVB6アプリを見つけることがよくあります。そのような場合、手作業による書き換えはめったに実行可能なオプションではありません。熟練したVB6/.NET開発者があまりにも多くの時間を要します。我々は最近、650KのLOCを用いたアプリケーションに関する事例を発表した。私たちの顧客の1人は現在、約1,500万のLOCを持つモンスターアプリを移行しています!

+0

こんにちはEugenio 英国以外の国のプロフェッショナルエディションの費用はいくらですか? ありがとう – kjack

+0

プロフェッショナルの価格は1,500ドルですが、新しい機能を備えた新しいメジャーリリースが出荷される次の月に変更される可能性があります。 –

+0

Eugenioの情報をありがとう。価格は確かに非常に高価ではありませんが、残念ながら私のような多くの人がMSがアプリケーションをサポートしている限りvb6で苦労するほど高価です。 – kjack

関連する問題