33
41

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2018-12-02

はじめに

これは、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#の相互変換

AIによる変換

AIにてプログラミング言語を指定して、VB.NETからCsharpに変換します。

オンライン

ちょっとした関数の変換ならオンラインを使うのが手っ取り早いです。
オンラインで結果が返ってこないサイトがあるなかで、下記サイトは結果がすぐに返ってきました。

Telerik Code Converter
http://converter.telerik.com/

オフライン

SharpDevelop

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

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

【2021/04/15追記】
Visual Studio 2017以降で作成したものは、Solution ファイルを編集すれば開くことができるようになります。

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までが変換の限度っぽいですね。

33
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
41

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?