iNNOKENTIY21

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Victor_VG, мне всё равно до внутренней кухни GitHub. Я беру GitHub API, в частности latest release, который выдаёт поля: Name, Created, Published, Assets… Из поля Name парсим версию приводим к .Net типу Version. Из локального far.exe парсим версию приводим к .Net типу Version. Сравниваем версии, одна и таже версия: PowerShell: Код: $remoteV = [version]'3.0.6529.4445' $localV = [version]'3.0.6529.0' if ($remoteV.CompareTo($localV) -eq 1) { "Есть новая версия: $remoteV" } | результат сравнения как бы правильный, но не правильный (Есть новая версия). Приходится делать костылик, типа такого: Код: # Нормализация версий в соответствии с указанной точностью switch ($ComparisonLevel) { 1 { $Version1 = [version]::new($Version1.Major, 0, 0, 0) $Version2 = [version]::new($Version2.Major, 0, 0, 0) } 2 { $Version1 = [version]::new($Version1.Major, $Version1.Minor, 0, 0) $Version2 = [version]::new($Version2.Major, $Version2.Minor, 0, 0) } 3 { $Version1 = [version]::new($Version1.Major, $Version1.Minor, $Version1.Build, 0) $Version2 = [version]::new($Version2.Major, $Version2.Minor, $Version2.Build, 0) } 4 { # Полная версия - ничего не делаем } } | Наш случай 3, т.е. обнуляем четвертую цифру в версии. Но это такое себе. Вот как быть? |