VisualStudio2008で悪名高きVB6->VB.NET変換やってみました。
結論から言うと変換元プロジェクトによって千差万別ですが50%くらいは流用できるかな、という程度です。
VB6で出来た3万ステップくらいのシステムを.NETFramworkで動くようにリプレースした経緯です。
1.まずはVisualStudio2008でVB6->VB.NET変換してみる。
->莫大な量のエラーが出てコンパイルできず。
2.頑張ってコンパイル通るようにソース修正する。
->画面周りコントロールがずれていたり、オーナードローしてるロジックがおかしかったり画面周りはほぼ全滅。
※この時点でかなりの工数を浪費
3.変換をあきらめてフルスクラッチでリプレースを始める。
->とっても工数がかかるので諦める
4.VB6->VB.NET変換してできたコードから画面以外のコードを流用する。
(MVCアーキテクチャ的にはModelの部分)
->ちょっとした手直しで結構流用できた。
ということで「VB6->VB.NET変換」一発で行けるシステムはほとんどないと思いますが、できるだけ流用するという方法なら、なかなか有効な手段だと思います。
VB6のソースに依存するところも大きくて、フォームにすべてのロジックが書いてあるようなシステムは流用できる範囲が少なく、ビジネスロジックがフォームから分離できているシステムは流用できる範囲が広そうです。