Sub Main je deklarován více než jednou v< oboru názvů>: <message>

Sub Main lze deklarovat pouze jednou uvnitř oboru názvů.

ID chyby: BC30738

Příčina

K této chybě často dochází v aplikacích modelu Windows Forms, když definujete vlastní Sub Main proceduru při povolení rozhraní Visual Basic Application Framework. Aplikační architektura automaticky vygeneruje proceduru Main a vytvoří konflikt, když přidáte další.

Oprava této chyby

Zvolte jeden z následujících přístupů:

  • Odeberte vlastní Sub Main proceduru.
  • Nakonfigurujte spouštěcí formulář a inicializační kód pomocí aplikační architektury:
    • Nastavte Výchozí formulář ve Vlastnostech projektu> na kartě Aplikace.
    • Použijte události My.MyApplication pro vlastní logiku spouštění.

Možnost 2: Zakázání aplikační architektury

Pokud potřebujete programovou kontrolu nad spuštěním aplikace (například pro výběr formuláře, který se má zobrazit na základě argumentů příkazového řádku):

  • Na kartě Vlastnosti projektu>Aplikace zrušte zaškrtnutí políčka Povolit aplikační rámec.
  • Nastavte objekt Startup na modul nebo třídu obsahující Sub Main.
  • Implementujte vlastní Sub Main postup řízení spouštění aplikace.

Možnost 3: Odebrání duplicitních hlavních postupů

  • Ujistěte se, že celý projekt má jenom jeden Sub Main postup.

Přístup My.MyApplication.Main

Pokud potřebujete získat přístup k automaticky generovanému spouštěcímu kódu, můžete pracovat s objektem WindowsFormsApplicationBase a jeho událostmi, jako jsou Startup, StartupNextInstance a Shutdown. Architektura aplikace poskytuje tyto události speciálně pro přizpůsobení chování aplikace bez definování vlastní Main procedury.

Viz také