W pewnym momencie CoreCLR obsłużył główne punkty wejścia async. Zobacz http://blog.stephencleary.com/2015/03/async-console-apps-on-net-coreclr.htmlCzy aplikacje konsoli asynchronicznej są obsługiwane w .NET Core?
Jednak oba następujące programy nie działają w .NET rdzenia RTM
using System;
using System.Threading.Tasks;
namespace ConsoleApplication
{
public class Program
{
public static async Task Main(string[] args)
{
await Task.Delay(1000);
Console.WriteLine("Hello World!");
}
}
}
lub
using System;
using System.Threading.Tasks;
namespace ConsoleApplication
{
public class Program
{
public async Task Main(string[] args)
{
await Task.Delay(1000);
Console.WriteLine("Hello World!");
}
}
}
Są zarówno niepowodzeniem z błędem:
error CS5001: Program does not contain a static 'Main' method suitable for an entry point
Are asynchroniczny aplikacje konsolowe obsługiwane w .NET Core RTM?
Należy zauważyć, że [ 'asynchroniczny Main' nośnik obecnie planowane dla C# 7.0] (https://github.com/dotnet/roslyn/ blob/master/docs/Język% 20Feature% 20Status.md). – svick
@svick faktycznie async Główne wsparcie zostało dodane w C# 7.1, https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7-1 # async-main - W projekcie visual studio 2017 przejdź do właściwości projektu -> kompilacja -> zaawansowane, a następnie zmień wersję językową na 7.1 (lub nowszy) – alv
Pamiętaj, aby zmienić właściwości '' '-> kompilacja -> zaawansowane -> wersja językowa''' dla typów kompilacji debugowania i wydania, w przeciwnym razie projekt zakończy się niepowodzeniem podczas publikowania. – Mark