'Sub Main' se declara más de una vez en '<namespace>': <mensaje>

Sub Main solo se puede declarar una vez dentro de un espacio de nombres.

Identificador de error: BC30738

Causa

Este error se produce a menudo en las aplicaciones de Windows Forms cuando se define su propio Sub Main procedimiento mientras el Marco de Aplicaciones de Visual Basic está habilitado. El marco de trabajo de la aplicación genera automáticamente un Main procedimiento, lo que crea un conflicto al agregar otro.

Para corregir este error

Elija uno de los métodos siguientes:

  • Quite el procedimiento personalizado Sub Main .
  • Configure el formulario de inicio y el código de inicialización mediante el marco de trabajo de la aplicación:
    • Configure el formulario de inicio en la pestaña Propiedades del proyecto>Aplicación.
    • Utilice los eventos My.MyApplication para la lógica de inicio personalizada.

Opción 2: Deshabilitar el marco de trabajo de la aplicación

Si necesita control mediante programación sobre el inicio de la aplicación (por ejemplo, para seleccionar qué formulario se va a mostrar en función de los argumentos de la línea de comandos):

  • En la pestaña Propiedades del proyecto>Aplicación, desactive Habilitar framework de aplicaciones.
  • Establezca El objeto Startup en el módulo o clase que contiene Sub Main.
  • Implemente su propio Sub Main procedimiento para controlar el inicio de la aplicación.

Opción 3: Eliminar procedimientos principales duplicados

  • Asegúrese de que solo haya un único Sub Main procedimiento en todo el proyecto.

Acceso My.MyApplication.Main

Si necesita acceder al código de inicio generado automáticamente, puede trabajar con el WindowsFormsApplicationBase objeto y sus eventos, como Startup, StartupNextInstancey Shutdown. El marco de trabajo de la aplicación proporciona estos eventos específicamente para personalizar el comportamiento de la aplicación sin definir su propio Main procedimiento.

Consulte también