Невозможно преобразовать 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 и это работало нормально.

Другие вопросы по тегам