# Async Main in Console App Visual Studio

Many times we want to create some Pocs for our project wherein we test out other libraries, frameworks, NuGet packages, etc., and a lot of these would be implementing asynchronous programming. Which means, to call these methods exposed by the libraries, NuGet packages, etc. you would have to do a `await` in your console app. And as you are aware, Main method of Console App needs to be a `static void Main(string[] args)` and if you try to make the Main method `async`, you would get the error : 
![Error-on-trying-async-1.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1613303034898/sesP6AFUS.png)

There are many workarounds for making the async calls from Main method, but I like to keep the Main method `async` and do an `await` inside it just like any other method. And this is now possible with **C# version greater than 7.1** 

To do so, Right click on your project and select `Properties` and navigate to the `Build` Tab. There, click on `Advanced` button at the bottom. 
![Advanced-1.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1613303079964/blXjRpjl4.png)

In the Advanced menu, for the `Language Version` chose any c# version greater than 7.1
![7.1-1.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1613303103942/eGduia_AW.png)

In case you can't see C# 7.1 or greater, please install any pending updates to your Visual Studio. And now you can change the Main method to :
```csharp
 static async Task Main(string[] args) 
```
and do the `await` inside it. 
![async-1.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1613303143272/6RgIQh_LX.png)
