VB.NETからC#へのWindowsFormプロジェク移管メモ

マルチプラットフォームの時代にまだWindowsFormなのかよと、常に先進的なプロダクトに関わってる方からは思われるかもしれませんが、、未だにWindowsFormは結構現役です(笑)

使うからには保守が必要ですが、VB.NETはそろそろお役御免ということで、一先ずC#へ色々なプロジェクトを移管してますので、備忘録ついでに、、、

今回は以下のツールとサイトを使わせてもらいました
SharpDevelop4.4
TelerikCode Converter

1、対象のソリューション(プロジェクト)の複製を作ります

2、SharpDevelopでプロジェクトのコンバートを試みます

SharpDevelopは.NetFramework4 までしか対応しておらず、既にVisualStudio2017等の最新ツールを使っている場合は、対象フレームワークの変更と、*.vbprojファイルの編集が必要になります。

ToolsVersion 12.0を14.0へ
——

なるべく最新の記述はしてないほうが良いです(笑)
↓こんなのやLINQバリバリだと弾かれます。。。
Dim = $”{新しい記述方法}”

読み込めたら対象のプロジェクトの右クリックメニューからConvertを選べます。

しばらくすると結果が表示されますので、その結果を見ながら、Visualstudioで追加の処理をします。

3、上記変換出来なかった一覧は、CodeConverterを使って部分変換&貼り付け等をすると、少しは効率的にしょりが行なえます。

4、細かい部分は自分の手で修正。。。
はい、頑張ってください。
多分6,7割はツールによる変換で対応出来ると思います。

あと、、イベントの挙動がVBとC#で若干違います(特にフォームが開いたタイミングで発動するイベント、、VBのWithEventが悪さしてる感じ)

そのあたりの手間をみても、ツールを使えば手動よりも圧倒的に早く移行作業が出来ます。

コメントを残す