#windows #.net-core #aggregateexception
#Windows #.net-ядро #исключение aggregateexception
Вопрос:
Я пытаюсь опубликовать автономный исполняемый файл для Windows. Когда я пытаюсь запустить исполняемый файл через привилегированное окно powershell (или cmd), я получаю следующую ошибку:
Unhandled exception. System.AggregateException: One or more errors occurred. (No connection could be made because the target machine actively refused it.)
---> System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it.
---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it.
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at myProgram.Client.postClaim(Claim Claim, Byte[]amp; var1, Byte[]amp; var2, Byte[]amp; var3)
at myProgram.Program.Main(String[] args)
Если это уместно, в этой строке я подключаюсь к серверу, размещенному на tomcat, на другом компьютере.
Что странно, так это то, что когда я публикую автономное приложение, я не получаю сообщение об ошибке. Приложение успешно выполняется до завершения. Я также не получаю сообщение об ошибке при запуске программы в режиме отладки из Visual Studio. Кроме того, я создал автономный исполняемый файл для linux-x64, и он смог успешно запускаться с компьютера Linux.
Я пробовал отключить брандмауэр защитника Windows и аналогичные программы. Однако, поскольку в других случаях программа работает нормально, я думаю, что это не проблема брандмауэра.
Есть ли проблема с автономными исполняемыми файлами? Есть ли что-то, чего мне не хватает перед запуском автономного исполняемого файла в Windows? Я в недоумении, как решить эту проблему.