ごくごく触りのメモ。
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くらいある・・・先は長いなあ・・・)。
コメントする