プログラミング: 2017年4月アーカイブ

ごくごく触りのメモ。

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くらいある・・・先は長いなあ・・・)。
現在、某所で複数台の開発用 PC のリカバリ作業を請け負って作業しているのだが、バックアップイメージからのリカバリではなく、OS 再インストールからの、つまり開発で使用する IDE やツール類についても再インストール作業が必要なパターンである。

OS は Windows 7 Professional 64bit で、まず、PC メーカーのリカバリツールを使って OS を入れるのだが、メーカーによって素の Win7 だったり SP1 が当たっていたりまちまち。まあ、でも、それは些細な問題だ。SP1 を当てるのも時間はかかるけど、その後の膨大な Windows Update に比べたら・・・
素の Win7 も、Win7SP1 も、どっちも昨日から 2日がかりで Windows Update してまーす(^^;

そして、一番の問題点が IDE である VisualStudio 2015 Express のインストールだ。

なにせ、もう VisualStudio 2017 が出ちゃってるので、正規のリンクは Microsoft のサイト上から消えている。
「ええ?嘘ぉ。検索したら、VS 2015 Express のダウンロード情報、いっぱい出てくるよ」と思ったお前の馬鹿、馬鹿。試しにクリックしてみなさいよ。それ、VS 2015 Express ではなく VS 2017 Community のダウンロードページにリンクされているから!
そこから、「Express をお探しの場合」というページに遷移できるが、そこでも 2017 Community が紹介されていて、さんざん 2017 Community の宣伝を読まされたあげく、「それでも Visual Studio Express を希望されますか?」という嫌味たっぷりの文言の下に「Express 2015 for Windows Desktop」オンラインインストールのリンクがあるけど、これ、英語版やんけ!!VS は英語版インストールしといて、あとで言語パック入れて日本語にするって出来んやろ?駄目やん。

それに、Microsoft アカウントを持っていない人が使う PC なんで、オンラインインストールではまずいような・・・30日位内に Microsoft アカウントで製品登録せんといかんよね?それが出来ないので、散々、ISO イメージの 2015 Express のインストールプログラムがないか探したんだけど、2013 Express とかは見つかったんだけど、2015 は無い。

そうこうしているうちに、そーちゃん☆@にゃんにゃんさんのブログの「Visual Studio 2015 with Update 3 日本語版ダウンロード」というページがヒットして、「おお、これや、これ!」と思ったら、VisualStudio 2015 Express だけリンク先間違ってる~(^^;
一瞬歓喜しただけに、がっかり感がハンパ無いわ(^^;
これ、VisualStudio 2015 Express のリンク先ではなく、Team Foundation Server 2015 Express のリンク先やーん!!

なるほど、これ、ネット上で出回ってる情報から、にゃんにゃんさんが JPN のものだけ抜いたものか・・・
そのネット上で出回っている一覧情報が既に間違ってるんや(^^;; Express は for Desktop とか for Web とかにプロダクツが別れているのに「2015 Express」という一本のリンクになってるんで「???」と思ったけど、やっぱり間違っていたか(^^;

結局、「インコの Windows SDK for Visual C++」というサイトの「Visual Studio Express 2015インストール (2016/7/3更新)」という記事が参考になった。

この中で、「オンライン登録をしたくない場合は、Visual C++ 2008 Express Edition オフライン(DVD)インストールにすれば、登録が不要です。」とあったのだが、実は既に VisualBasic Express Edition オフラインをインストールしていたのだが、オンライン登録の画面は出てきた。
しかし、一旦 2015 Express をアンインストール後、このページに書かれているように Visual C++ 2008 Express Edition オフラインをインストールしてから改めて 2015 Express をインストールし直したところ、オンライン登録の画面は開かなかった。C++ でないと駄目ってことか???

よくわからないが、インコさん、ありがとうございました!

<追記>
俺の読解力の無さ(^^;
インコさんが書かれているのは「オンライン登録がいやなら 2008 を入れろ」ってことですよね(^^;
2008 を入れたあとで 2015 にしたら 2008 のライセンスフリーな状態を引き継いでくれるのかと誤読してしまいました。
2008 を入れていようがどうだろうが 2015 では Microsoft アカウントでサインインしてオンライン登録する必要があります。

このアーカイブについて

このページには、2017年4月以降に書かれたブログ記事のうちプログラミングカテゴリに属しているものが含まれています。

前のアーカイブはプログラミング: 2017年3月です。

次のアーカイブはプログラミング: 2017年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら