Compartir a través de


Error del compilador CS5001

El programa no contiene un método estático "Main" adecuado para un punto de entrada

Este error se produce cuando no se encuentra ningún método estático Main con una firma correcta en el código que genera un archivo ejecutable. También se produce si la función del punto de entrada, Main, se define de forma incorrecta, por ejemplo poniendo main en minúscula. Para obtener información sobre las reglas que se aplican al Main método, vea Main() y Command-Line Arguments.

Nota:

Esta advertencia solo se notifica durante las operaciones explícitas de compilación o recompilación . No aparece mientras se escribe en el IDE como parte del diagnóstico de IntelliSense. Esto significa que, si corrige la advertencia utilizando el campo o eliminándolo, la advertencia podría persistir en una lista de errores hasta que compile o vuelva a compilar el proyecto.

Si el Main método tiene un async modificador, asegúrese de que la versión del lenguaje C# seleccionada sea 7.1 o posterior y use Task o Task<int> como tipo de valor devuelto.

El Main método solo es necesario al compilar un archivo ejecutable, es decir, cuando se especifica el elemento exe o winexe de la opción del compilador OutputType . Los siguientes tipos de proyecto de Visual Studio especifican una de estas opciones de forma predeterminada:

  • Aplicación de consola
  • aplicación ASP.NET Core
  • aplicación WPF
  • Aplicación de Windows Forms

Ejemplo

En el ejemplo siguiente se genera el error CS5001:

// CS5001.cs
// CS5001 expected when compiled with -target:exe or -target:winexe
public class Program
{
   // Uncomment the following line to resolve.
   // static void Main() {}
}