(VB.Net)VB.NETでスタートアップを Main() にする方法 - tsukimisoba/Blog GitHub Wiki

2025/05/21 記載

VB.NETでスタートアップを Main() にする方法

<注意点>

  • Visual Studio 17.3.0以降では、プロジェクトのプロパティメニューが変更され、Main()をスタートアップオブジェクトに指定できない場合があります。
  • 解決策: .vbprojを手動で編集します(後述 手順 7. 以降を実施)。

スタートアップをMain()に変更する手順

目的: Visual Studioの設定を変更して、 Main() をスタートアップとして指定できるようにします。

手順( Sub Main が表示される場合)

  1. ** Sub Main の作成
  2. ソリューションエクスプローラーでプロジェクトを選択
  3. [プロジェクト]メニュー[プロパティ] をクリック
  4. [アプリケーション]タブを開く
  5. [アプリケーションフレームワークを有効にする] のチェックを外す
  6. [スタートアップオブジェクト]Sub Main に変更

( 上記手順で Sub Main が表示されない場合)

  1. ** .vbproj ファイル** の設定確認/変更
  2. 再度プロジェクトの [スタートアップオブジェクト]Sub Main に変更

1. Sub Main() メソッドの作成

コード例(1)
Main() メソッドを作成し、アプリケーションのエントリポイントとして設定します。

Module Program
    Sub Main()
        ' フォームを起動
        Application.Run(New MainForm())
    End Sub
End Module

コード例(2)
Main() でコマンドライン引数を受け取る場合は、以下のように定義します。

Module Program
    Sub Main(args() As String)
        If args.Length > 0 Then
            Console.WriteLine("引数: " & String.Join(", ", args))
        End If
        ' フォームを起動
        Application.Run(New MainForm())
    End Sub
End Module

ポイント:

  • args() を使うことで、コマンドライン引数を処理できる。

2. スタートアップオブジェクトの設定

Visual Studioのプロジェクト設定で、スタートアップオブジェクトSub Mainに変更します。


3. [プロジェクト]メニュー[プロパティ] をクリック


4. [アプリケーション]タブを開く


5. [アプリケーションフレームワークを有効にする] のチェックを外す


6. [スタートアップオブジェクト]Sub Main に変更


7. .vbproj ファイルの設定を確認/修正

プロジェクトの .vbprojファイルを開き、以下の設定か確認します。
設定が相違している場合は修正または追記します。

<PropertyGroup>
    <MyType>WindowsFormsWithCustomSubMain</MyType>
    <StartupObject>Program</StartupObject>
</PropertyGroup>

ポイント:

  • StartupObjectProgram を指定することで、Main()メソッドをエントリポイントとして認識させる。

  1. 再度プロジェクトの [スタートアップオブジェクト]Sub Main に変更

この方法で、VB.NETのMain()プロシージャーをクラスで定義できます
詳細な情報はこちらも参考にしてください。

⚠️ **GitHub.com Fallback** ⚠️