C# - Async Main Metodu

.NET platformunda konsol uygulamalarında uygulamaların temel metodu olarak void tipinde Main metodu bulunur. Konsol uygulamalarının çalışmasını sağlar ve Program.cs dosyasında bulunur.

C# 7.0 versiyonundan önce async olarak Main metodu tanımlamak istediğimizde uygulama çalışmayıp aşağıdaki gibi bir uyarı ile karşılaşıyorduk. 

"Does not contain a static 'main' method suitable for an entry point." 

Bu uyarı Main metodunun kurallara uygun olarak tanımlanmadığı için gelmektedir. 

C# 7.0 ile birlikte gelen Async Main Metodu ile asenkron metotlar oluşturabiliriz. Geri dönüş tipi Task olacaktır.

Örnek kullanımı aşağıdaki gibidir.

    class Program
    {
        public static async Task Main(string[] args)
        {
            //Yazılacak kodlar
        }
    }

İlk etapta uygulamayı çalıştırırken aşağıdaki hatayı alabiliriz.

“error CS8107: Feature 'async main' is not available in C# 7. Please use language version 7.1 or greater.”

Normal şartlar altında C# 7.0'dan itibaren bu metot mevcuttur. Bu hatanın çözümü için versiyon ayarının yapılması gerekmektedir. Bu işlem projenin özelliklerinden değiştirilebilir.

Visual Studio'da Project sekmesinin altından Properties'e tıklanır. Ardından açılan sayfadan aşağıdaki görseldeki gibi Build'e tıklanır. Configuration ise All Configurations olarak seçilip Advanced(Gelişmiş) butonuna tıklanır.

 

Açılan pencereden Language Version alanından C# latest minör version seçilir. Bu seçenek seçilip kaydedildiği zaman, C# 7.0'a ait yeni versiyonlar ortaya çıktıkça kullanımda olacaktır. 7.1 versiyonu 7.0 versiyonunun minör'ü olup bu versiyonda async Main metodu bulunmaktadır.


Bu ayarları anlatan linke buradan ulaşabilirsiniz.

Yorumlar