Skip to content

MS_VBNET

nishi_74322014 edited this page Aug 12, 2026 · 2 revisions

VB.NET

概要

Visual Basic(バージョン 6.0 まで、VB 6.0)の後継。

  • VB 6.0 以前との互換性はなく、
  • また .NET Framework(or .NET Core)上で動作する。
  • 言語仕様にオブジェクト指向が本格的に取り入れられるなど、
    VB6 系の EUC ツールとしての側面(VBAは何故、最強EUCツールなのか?: MS_WhyVBAIsTheBestEUCTool.md)は
    薄くなってきている。
  • Visual Basic .NET と呼ばれていたが、昨今、単に Visual Basic と呼ばれる。
  • .NET 5以降はメンテナンス・フェーズに。

詳細

特徴

Visual Basicを、まんま、.NET開発に持ち込んだもの。

バージョン

VB 6.0 の後継

ということで、

  • 内部バージョンは「7」から開始された。
  • 余談だが、VB 6.0 系の VBA でも後継の VBA7 がリリースされている。

バージョン名称

  • Visual Basic .NET (2002)(VB.NET 7.0)
  • Visual Basic 2019(VB 16.0)

と名称を変えながら、

変遷

  • 継続的に進化していた(過去形)。

    • 2019 年
    • 2017 年に、C# / VB
      共同開発戦略が終了した事と関係があるのかも知れない。
  • しかし、.NET 5以降はメンテナンス・フェーズに。

    • .NET 5 で VB.NET はサポートされる。
    • しかし、「言語として進化させる予定は無い。」と宣言された。

補足(最新化:現在の状況): この観測はその通りになった。
ただし「サポートは継続している」点は明確にしておきたい。

項目 状況
ランタイム .NET 8 / 10 でもサポートされる(動く)
言語仕様 新機能は追加されない(安定重視)
プロジェクト種別 コンソール・クラスライブラリ・Windows Forms・WPF は作成可能
ASP.NET Core VB のテンプレートが無い(C# のみ)
.NET MAUI VB 非対応

つまり「動くが、新規に選ぶと選択肢が狭い」という状態。
既存の VB.NET 資産は .NET 8 へ移行して動かし続けられるが、
Web / モバイルの新規開発では C# を選ぶことになる。

なお 2020 年の
Visual Basic support planned for .NET 5.0
が、この方針を公式に示した文書である。

C# との比較

ザックリ、

文法が自然言語に近い。

VB 6.0 以前を踏襲している。

VBの組み込み関数を利用可能。

Microsoft.VisualBasic 名前空間を Imports する。

補足: Microsoft.VisualBasic
C# からも参照できる(アセンブリを参照すればよい)。
Strings.StrConv(半角全角変換)など、
.NET 標準に無い日本語処理があるため、
C# から呼ぶ実務例は珍しくない

ただし .NET Core 以降は一部が Windows 専用になっている点に注意
.NET Standardへの移行を参照)。

レイトバインドを簡単に書ける。

VB COM の延長上で、レイトバインドを簡単に書ける(Option Strict Off 時)。

補足: C# で同等のことをするには dynamic を使う
C Sharpを参照)。
ただし VB の Option Strict Off既定でこの状態になるため、
「意図せずレイトバインドになる」ことがある。
新規コードでは Option Strict On を推奨する
(型の誤りをコンパイル時に検出できる)。

参考


Tags: 移行, .NET開発, プログラミング, Visual Basic, 移行

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally