У меня есть приложение windforms, которое считывает / записывает данные для покупок с помощью API-интерфейса Shopify. До недавнего времени он работал нормально.
Пользователь сообщил мне, что это не работает. После того, как я получил копию их базы данных и попытался связаться с Shopify в своей среде разработки, у меня тоже не получилось.
После некоторого покопания я обнаружил, что это был SecurityProtocolType, который я использовал. Я изменил его с Tls на Tls12, и он начал отлично работать в моей среде разработки. Ура.
Но когда я сделал новый установщик, установил его на машине с Windows 10 и подключился к той же базе данных, которую использовал в своей среде разработки, он не сработал.
Я снова протестировал его на виртуальной машине Windows 7 (опять же, подключенной к той же базе данных), это сработало!
Теперь я начинаю подозревать, что это Windows 10 против Windows 7 (моя машина разработчика - Windows 7).
Несколько дополнительных деталей:
Версия приложения winforms для dotnet - 4.5.
Ошибка, которую я получаю на машине win 10: «Базовое соединение было закрыто: при отправке произошла непредвиденная ошибка».
Может ли кто-нибудь подсказать, куда идти дальше? Есть ли причина, по которой Windows 10 не запускает Tls12 в приложении winforms .net 4.5?





В итоге я полностью обновил свое решение с dotnet 4.5 до dotnet 4.6.1. Теперь отлично работает в Windows 10.
Не уверен, почему dotnet 4.5 не очень хорошо работает с Tls12 в Windows 10, но, по крайней мере, у меня есть решение.
Я не совсем понимаю, что вы имеете в виду под "проверкой версии DLL". Бит Tls12 является частью System.Net, поэтому я не устанавливаю эту часть - она уже должна быть там (как часть dotnet). А что значит "Сменить версию dll"? версия dotnet?