次の方法で共有


コンパイラ エラー CS5001

プログラムにエントリ ポイントに適した静的な 'Main' メソッドが含まれていません

このエラーは、実行可能ファイルを生成するコードに正しいシグネチャを持つ静的な Main メソッドが見つからない場合に発生します。 また、エントリ ポイント関数 ( Main) が、小文字の mainなど、間違ったケースで定義されている場合にも発生します。 Main メソッドに適用される規則の詳細については、「Main()」および「Command-Line 引数」を参照してください。

この警告は、明示的な ビルド 操作または 再構築 操作中にのみ報告されます。 これは、IntelliSense 診断の一部として IDE での入力中には表示されません。 つまり、フィールドを使用するか削除して警告を修正した場合、プロジェクトをもう一度ビルドまたはリビルドするまで、警告がエラー一覧に保持される可能性があります。

Main メソッドにasync修飾子がある場合は、選択した C# 言語バージョンが 7.1 以上であることを確認し、戻り値の型としてTaskまたはTask<int>を使用します。

Main メソッドは、実行可能ファイルのコンパイル時、つまり TargetType コンパイラ オプションの exe 要素または winexe 要素が指定されている場合にのみ必要です。 次の Visual Studio プロジェクトの種類では、既定でこれらのオプションのいずれかを指定します。

  • コンソール アプリケーション
  • ASP.NET Core アプリケーション
  • WPF アプリケーション
  • Windows フォーム アプリケーション

次の例では 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() {}
}