Posted at

Visual BasicからC#への変換について


はじめに

これは、Visual Basic Advent Calendar 2018の3日目の記事となります。

Visual Basic と C# の相互変換する方法について書いていきます。


VB6.0からVB.NETに変換

マイクロソフトは、旧VB製アプリケーションのVB.NETへの移行を容易にするアップグレードウィザードを、Visual Studio 2008までは実装しましたが、Visual Studio 2010 以降からは廃止しました。

よって、Visual Studio 2008 で変換したものを Visual Studio 2010 以降で変換するという二段階のアップグレードが必要になります。

Visual Studio 2008 Express Edition CD(DVD)イメージ版のダウンロードはまだ可能でした。

Visual Studio 2008 Express Edition with Service Pack 1 Combo DVD

ここ数年内でVB6からVB.NETへのマイグレーションされた方の記事がありました。


VB.NETとC#の相互変換


オンライン

ちょっとした関数の変換ならオンラインを使うのが手っ取り早いです。

オンラインで結果が返ってこないサイトがあるなかで、下記サイトは結果がすぐに返ってきました。

Telerik Code Converter

http://converter.telerik.com/


オフライン


SharpDevelop

SharpDeveloper Ver 5には変換機能がなくなりましたので、ダウンロードページからSharpDeveloper Ver4.4 をダウンロードしてください。

http://www.icsharpcode.net/OpenSource/SD/Download/Default.aspx

Visual Studio 2017で作成したものは、プロジェクトを開いた段階で下記のエラーになり正常に開けませんでした。

Error loading xxxxxx.vbproj:

The Tools version "15.0" is unrecognized.Available tools versions
are "12.0","14.0","2.0","3.5","4.0".
xxxxxx.vbproj

Visual Studio 2015のプロジェクトは開くことができました。

プロジェクトの右クリック→Convert→From VB.NET to C#

VB2CSharp.png


Language Convertプラグイン

Visual Studio 2015の変換プラグインになります。

https://marketplace.visualstudio.com/items?itemName=LuPaLaPaoloSalamone.LanguageConvert


dnSpy

オープンソースの.NET のデコンパイルツールです。

https://github.com/0xd4d/dnSpy

MSILのコードをVisual Basic(VB)、C#のどちらのかたちにも戻すことができます。


参照


最後に

Visual BasicからC#への変換する記事を見つけても情報が古いのが多いので、ここらへんで情報を改めてみました。

Visual Studio 2015までが変換の限度っぽいですね。