У меня есть приложение Winforms (.Net Core 3.0), которому необходимо использовать двоичную сборку, созданную для .Net Core 2.1
. Двоичная сборка загружается с помощью отражения.
Некоторые объектыэкземпляр (также через отражение) из этой загруженной сборки и некоторые объекты зависимостей, локальные для приложения WinForms, передаются в эти конструкторы при создании экземпляра.
Когда эти объекты зависимости используются в приложении Winforms, все работает как положено.Существуют асинхронные методы, которые можно успешно ожидать.
Тем не менее, когда у «отражательно созданных» объектов вызывается метод, который использует переданные в объектах зависимости вещи работают, как и ожидалось, до момента, когда ожидается ожидание.Позвонил.
Результат await успешен (например, вызов Cosmos Db, где я вижу изменение данных), но поток никогда не возвращается из вызова await. Затем основной поток форм поднимает и перемещаетна.Если выполняется несколько вызовов, основной поток (и форма) зависает.
Эти объекты зависимостей не взаимодействуют с какими-либо элементами управления Windows Forms.
Если у кого-то есть идеи относительно того, почемупоток возвращается к вызывающему методу и не ждет, я буду вечно благодарен.