none
Program does not contain a static 'Main' method suitable for an entry point是什麼原因? RRS feed

  • 問題

  • 有一個簡單 ConsoleAPP 程式

    程式碼如下

    using System;
    using System.Net.Http;
    using System.Threading.Tasks;
    
    namespace TestConsoleApp
    {
        class Program
        {
            static async Task Main(string[] args)
            {
                HttpClient client = new HttpClient();
                var fooResult = await client.GetStringAsync("https://data.kcg.gov.tw/dataset/be1d960a-fdad-4fcb-83c8-68414b35e37c/resource/b4ae6503-46b3-46c5-8489-d8baa2c2e27e/download/sightseeingtaxi.json");
                Console.WriteLine($"{fooResult}");
                Console.WriteLine($"Press any key to Exist...{Environment.NewLine}");
                Console.ReadKey();
            }
        }
    }
    
    編譯時會出現『Program does not contain a static 'Main' method suitable for an entry point』請問是什麼原因呢?


    2018年1月4日 上午 09:55

解答

  • C# 7.1 開始才會支援 async static Main()

    先檢查一下你的編譯器版本。如果還沒更新到有 7.1 版本, 請先更新你的 Visual Studio

    記得要在專案屬性中設定編譯器版本 , 要不是設定為 "最新次要" , 就是 "C#7.1" ; 預設的 "最新主要" 會用 C#7.0,所以要更改設定值。


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。



    2018年1月4日 下午 12:24
    版主

所有回覆

  • 可以參考官網的說明:

    https://docs.microsoft.com/zh-tw/dotnet/csharp/misc/cs5001

    2018年1月4日 上午 11:47
  • C# 7.1 開始才會支援 async static Main()

    先檢查一下你的編譯器版本。如果還沒更新到有 7.1 版本, 請先更新你的 Visual Studio

    記得要在專案屬性中設定編譯器版本 , 要不是設定為 "最新次要" , 就是 "C#7.1" ; 預設的 "最新主要" 會用 C#7.0,所以要更改設定值。


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。



    2018年1月4日 下午 12:24
    版主