1. ホーム
  2. c#

[解決済み] エラーメッセージ "CS5001 Program does not contain static 'Main' method suitable for an entry point".

2023-06-10 17:04:33

質問

以下のコードが実行できません。 error CS5001 プログラムには、エントリポイントに適した静的メソッド 'Main' がありません。

このエラーメッセージは何を意味しているのでしょうか?

class Program
{
    static async Task MainAsync(string[] args)
    {
        Account.accountTest accountTest = new Account.accountTest();

        bool result = await accountTest.CreateAccountAsync();
    }
}

どのように解決するのですか?

現時点では、アプリケーションに適したエントリポイントがないことを意味します。

そのコードは ほぼ で動作しますが、プロジェクト ファイルで C# 7.1 を明示的に有効にする必要があります。

<LangVersion>7.1</LangVersion>

といった具合に、より一般的に

<LangVersion>latest</LangVersion>

また MainAsyncMain . だから例えば

プログラム.cs:

using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        await Task.Delay(1000);
    }
}

ConsoleApp.csprojです。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <LangVersion>7.1</LangVersion>
  </PropertyGroup>
</Project>

... ビルドして問題なく実行できます。