У меня есть приложение Windows Forms.
Теперь я хочу использовать метод async
.
Начиная с C # 7.1 я могу использовать метод async Main
:
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7-1
Однако теперь мой атрибут STAThread
игнорируется, и мое приложение работает в MTA. Это сделано намеренно, или я могу снова заставить свое приложение работать в режиме STA?
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
private static async Task Main(string[] args)
{
// returns MTA
Console.WriteLine("{0}", Thread.CurrentThread.ApartmentState);
}
ThreadStateException
, поскольку по определению текущий поток имеет уже запущен. - person Damien_The_Unbeliever   schedule 29.11.2017