Errore del compilatore CS5001Compiler Error CS5001

Il programma 'program' non contiene un metodo statico 'Main' appropriato per un punto di ingressoProgram 'program' does not contain a static 'Main' method suitable for an entry point

Questo errore si verifica quando nel Main codice che produce un file eseguibile non viene trovato alcun metodo statico con una firma corretta.This error occurs when no static Main method with a correct signature is found in the code that produces an executable file. Questo errore si verifica anche quando la funzione del punto di ingresso, ovvero Main, viene definita con la combinazione di maiuscole e minuscole errata, ad esempio mainin minuscolo.This error also occurs if the entry point function, Main, is defined with the wrong case, such as lower-case main. Per informazioni sulle regole che si applicano al Main metodo, vedere Main () e argomenti della riga di comando.For information about the rules that apply to the Main method, see Main() and Command-Line Arguments.

Se il Main metodo ha un async modificatore, verificare che la versione C# della lingua selezionata sia 7,1 o successiva.If the Main method has an async modifier, make sure that the selected C# language version is 7.1 or higher.

Il Main metodo è necessario solo quando si compila un file eseguibile, ovvero quando si specifica l'opzione del compilatore When -target: exe o -target: winexe .The Main method is only required when compiling an executable file, that is, when -target:exe or -target:winexe compiler option is specified. Per impostazione predefinita, i seguenti tipi di progetto di Visual Studio specificano una di queste opzioni:The following Visual Studio project types specify one of these options by default:

  • Applicazione consoleConsole application
  • Applicazione ASP.NET CoreASP.NET Core application
  • applicazione WPFWPF application
  • Windows Form (applicazione)Windows Forms application

EsempioExample

L'esempio seguente genera l'errore CS5001:The following example generates CS5001:

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