Невозможно преобразовать System.Object в System.Version при сравнении версий
Я читаю два файла MS Word и мне нужно сравнить свойства docx.
Я получаю правильные выходные данные для каждой переменной, но как только я сравниваю их, я получаю следующую ошибку.
Есть идеи почему?
Major Minor Build Revision
----- ----- ----- --------
1 0 -1 -1
1 1 -1 -1
Не удалось сравнить "1.0" с " 1.1". Ошибка: "Не удалось преобразовать значение"System.Object[]"типа"System.Object[]"в тип"System.Version"." В C:\Users\Sebastian\Documents\IT Projects\Saberwal\Groups - Advanced.ps1:76 char:6 + if ($CurrentVersion -lt $NewVersion) {Запись-вывод "Новое больше"} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId: ComparisonFailure
Код:
$CurrentVersion = Check-Version $CurrentSignaturePath $CurrentSignatureFile
$NewVersion = Check-Version $NewSignaturePath $NewSignatureFile
Write-Output $CurrentVersion
Write-Output $NewVersion
if ($CurrentVersion -lt $NewVersion) { Write-Output "New is bigger" }
2 ответа
ОК, нашел способ сделать это.
[version]$CurrentVersion = [string]$CurrentVersion
[version]$NewVersion = [string]$NewVersion
Спасибо всем
Попробуй это:
[Version] $CurrentVersion = Check-Version $CurrentSignaturePath
[Version] $CurrentSignatureFile $NewVersion = Check-Version $NewSignaturePath $NewSignatureFile
Если только что попробовал сравнить две версии с -lt
и это работало нормально.