既存の Vb6.0 win ベースのアプリケーションを ac# win ベースに変換する最速の方法は何ですか?
6 に答える
コアとなる言語は非常に異なるため、ゼロから始めて、複雑なコード部分だけをコピーする必要があります。ゼロから始める場合は、C# のすべての機能を利用しながら、VB6 の問題にすべて対処する必要はありません。
VB6 には実際のクラスや OOP がないため、C# とは大きく異なります。また、イベント マネージャ ( SubClassing )に対する制御はほとんどありません。
したがって、ゼロから始めて、UI レイアウトをコピーし、そもそもこれを C# でどのように実装するかを考えてみると、作業が楽になります。
VB.netに変換するのが一番早いと思います。この回答については、次の質問を確認してください
ans はそれを c# に変換します。ただし、アプリケーションを再設計して簡単にすることができるため、手動で変換する方が良い選択肢になると思います。
Visual Basic 6 から C# へのコードの変換は、C#への移行をサポートするArtinSoftのVisual Basic Upgrade Companionなどの自動化された移行ツールを使用して行うのが最適です。
まず、VB6 から VB.NET に移行したとしても、VB.NET には C# に直接変換されない言語固有の機能がいくつかあります。したがって、VB.NET から C# へのコンバーターを使用している場合でも、これらの特殊なケースを処理する必要があります (または、それらを処理するツールを見つける必要があります)。これらには、オプションのパラメーター、AddressOf 関数、Information.Err() などの Visual Basic コンパイラ支援操作、および Try / Catch ステートメントを使用した非構造化エラー処理から構造化エラー処理を含めることができます。考慮すべきもう 1 つの点は、VB.NET コンパイラが表示するコンパイル エラーは 100 に制限されており、移行時にコンパイル エラーが非常に一般的である可能性があることです。C# に移行する場合、コンパイラや ReSharper などの他のコード分析ツールを使用すると、今後の課題をよりよく把握でき、一般的なコンパイル エラー パターンを検出するのに役立ちます。
第 2 に、ターゲット言語に直接移行することで、最初からその言語で利用可能な機能の使用に集中でき、中間の手順は必要ありません。そうしないと、1 つだけに集中できたときに、基本的に 2 つの移行を行うことになります。
第三に、renick が述べたように、移行ツールは数百または数千の問題を引き起こす可能性がありますが、これらのほとんどは比較的簡単な解決策を持っています。それらのいくつかは、検索と置換機能を使用して修正できます。商用ソリューションには、サードパーティの UI コントロールから .NET の同等のものへの移行をサポートするという追加の利点があります。
また、移行は書き換えよりもはるかに高速である可能性があります。コードを記述する必要がありますが、問題がある領域に対してのみです。
移行がオプションではないアプリケーションがあることは確かですが、移行のユースケースに適合するものにとっては、プラットフォームを切り替える非常に効果的な手段です。オプションをすぐに割り引いてはいけません。
総書き直し。MS には移行の支援がありますが、それは VB.Net だけだと思います。しかし、なぜ移植を検討するのでしょうか。アプリを書き直して、存続させる必要があるレガシー部分がある場合は相互運用する方がよいでしょう。そして、最良のビットのみを移行します。アプリケーションを真に改善するチャンスとしてこれを使用してください。
ArtInSoft をお試しください。この会社は、VB 6 コードを直接 C# に移行します。