'Sub Main' viene dichiarato più volte in '<namespace>': <message>

Sub Main può essere dichiarato una sola volta all'interno di uno spazio dei nomi.

ID errore: BC30738

Motivo

Questo errore si verifica spesso nelle applicazioni Windows Form quando si definisce una procedura personalizzata Sub Main mentre Visual Basic Application Framework è abilitato. Il framework dell'applicazione genera automaticamente una Main procedura, creando un conflitto quando si aggiunge un'altra.

Per correggere l'errore

Scegliere uno degli approcci seguenti:

  • Rimuovi la procedura personalizzata Sub Main.
  • Configurare il modulo di avvio e il codice di inizializzazione usando il framework dell'applicazione:
    • Impostare il form di avvio nella scheda Proprietà progetto>Applicazione.
    • Usare gli eventi My.MyApplication per la logica di avvio personalizzata.

Opzione 2: Disabilitare il framework dell'applicazione

Se è necessario il controllo a livello di codice sull'avvio dell'applicazione, ad esempio per selezionare il modulo da visualizzare in base agli argomenti della riga di comando:

  • Nella scheda Proprietà del Progetto>Applicazione, deselezionare Abilita framework applicazione.
  • Impostare l'oggetto Startup sul modulo o sulla classe contenente Sub Main.
  • Implementare una procedura personalizzata Sub Main per controllare l'avvio dell'applicazione.

Opzione 3: Rimozione delle procedure principali duplicate

  • Verificare che sia presente una sola Sub Main procedura nell'intero progetto.

Accesso My.MyApplication.Main

Se è necessario accedere al codice di avvio generato automaticamente, è possibile usare l'oggetto WindowsFormsApplicationBase e i relativi eventi, ad Startupesempio , StartupNextInstancee Shutdown. Il framework dell'applicazione fornisce questi eventi specificamente per la personalizzazione del comportamento dell'applicazione senza definire una procedura personalizzata Main .

Vedere anche