Udostępnij za pośrednictwem


Błąd kompilatora CS5001

Program nie zawiera statycznej metody "Main" odpowiedniej dla punktu wejścia

Ten błąd występuje, gdy nie znaleziono metody statycznej Main z poprawnym podpisem w kodzie tworzącym plik wykonywalny. Występuje również, jeśli funkcja punktu wejścia, Main, jest definiowana przy użyciu niewłaściwego formatu liter, takiego jak małe litery main. Aby uzyskać informacje o regułach stosowanych do Main metody, zobacz Main() i Command-Line Argumenty.

Uwaga / Notatka

To ostrzeżenie jest zgłaszane tylko podczas jawnych operacji kompilacji lub odbudowywania . Nie pojawia się podczas wpisywania w środowisku IDE w ramach diagnostyki IntelliSense. Oznacza to, że jeśli naprawiasz ostrzeżenie za pomocą pola lub je usuwasz, ostrzeżenie może pozostać na liście błędów do momentu kompilowania lub ponownego kompilowania projektu.

Main Jeśli metoda ma async modyfikator, upewnij się, że wybrana wersja języka C# to 7.1 lub nowsza i użyj Task lub Task<int> jako zwracanego typu.

Metoda jest wymagana Main tylko podczas kompilowania pliku wykonywalnego, czyli gdy określono element exe lub winexe opcji kompilatora TargetType . Następujące typy projektów programu Visual Studio domyślnie określają jedną z następujących opcji:

  • Aplikacja konsolowa
  • aplikacja ASP.NET Core
  • aplikacja WPF
  • aplikacja Windows Forms

Przykład

Poniższy przykład generuje 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() {}
}