Добрый день,
У меня есть приложение, которое я разработал для передачи файлов между двумя компьютерами ("сайт" и "сервер").Это приложение было настроено на целевой dotNet 3.5.Кроме того, я использую Renci.SshNet для обработки соединений между компьютерами и передачи указанных файлов.
Проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что около 70% машин "сайта" не имеютстандартное dotNet и тоже довольно старое;таким образом, эти машины не поддерживают все необходимые функциональные возможности, так как внешняя DLL выполняет вызовы System.Threading.WaitHandle.WaitOne()
и System.Threading.WaitHandle.WaitAny(WaitHandle[], Int32)
и другие перегрузки этих методов.
Обходной путь, который у меня есть для этого, заключается в установке netfx20SP2 или netfx30SP1, но я не могу выполнить это обновление на всех машинах, поскольку они разбросаны по всей стране и имеют ограничения данных (пропускная способность и ограничение).
Возможно, я хочу внедрить загруженный мною System.Threading dll, а затем приложение должно использовать эти классы вместо этого, или, альтернативно, просто указать приложению использовать указанную dll.
Это вообще возможно, или вам нужно загрузить dll в GAC?А также, возможно ли будет «запустить» эту более высокую версию System.Threading в приложении, пока сама система находится в более низкой версии фреймворка.Что-то подсказывает мне, что лучше всего будет запустить установку пакета обновления, чтобы избежать ненужного кодирования, но я не совсем уверен, как к этому подойти.
Заранее благодарю за любую помощь / предложения, JD