VB6 から VB2015.NET へのマイグレーション[プログラミング]
(2017-04-07 16:47:23) by shinoda


ごくごく触りのメモ。

VB6 から VB.NET(現在の最新バージョンは 2017 だが、今回は諸事情で 2015 がターゲット)へのマイグレーションを行う場合。

まず、VB2015.NET は VB6 のプロジェクトファイル(拡張子 .vbp のファイル)を開けないので、一旦 VB2008.NET で upgrade を行う。
VB2008.NET で VBP ファイルを開くと Upgrade Wizard が開始されるので、まあ、ずっと Next していけばいい。
VB6→VB.NET の upgrade が終了したら、Save All して終了。

パスを自分で変更していなければ、元のプロジェクトのあったディレクトリに「プロジェクト名.NET」という名前で VB.NET プロジェクトのファイル群を格納したディレクトリができている。

そのディレクトリの下のソリューションファイル(.sln ファイル)を開くと、今度は VB2008.NET→VB2015.NET への upgrade が始まる。
これで、もう二度と VB2008.NET では開けない形になるが、ま、別に VB2008.NET で何かすることはないからそれでOK。

あとは手動でエラーと警告を消していこう。

配列のエラーとかむっちゃ出て萎える(^^;

代替のメソッドがあるものは良いが、LenB関数(文字列のバイト数を取得する関数)のように代替できるものがない場合は、

Private Shared Function LenB(ByVal str As String) As Integer
    'Shift JISに変換したときに必要なバイト数を返す
    Return System.Text.Encoding.GetEncoding(932).GetByteCount(str)
End Function

のような関数を別途作成して対応することになる。
(ソース例は「DOBON.NET プログラミング道」より。ありがとうございます)

まあ、こんな調子で地道に消していくしかない。
一応、Web 上にも色々情報はあるので参考にはなるが、そのまま適用できないもののほうが多い。ほんと、自分の脳みそを使って地道に作業していこう。

今マイグレーションしているシステムだと、平均すると、ひとつのプロジェクトで 20くらいのエラーと 30くらいの警告が出てくる。中には500のエラーと100の警告の出たプロジェクトもあるけど(^^;
それを地道に手動で直していくことになる(そして、そのプロジェクトが 20くらいある・・・先は長いなあ・・・)。

コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8