Невозможно преобразовать значение в тип "System.Version"
Я не могу преобразовать правильно отформатированную строку, хранящуюся в переменной, в тип версии. Проблема должна быть в переменной, поскольку она отлично работает, если я укажу значение вручную, но я не знаю, что с ней не так. Я новичок в PowerShell, поэтому не знаю, где искать.
Вот моя переменная:
Write-Host "$env:BUILD_BUILDNUMBER"
1.0.0.20
Это действительно струна? Да:
($env:BUILD_BUILDNUMBER).GetType().fullname
System.String
Преобразуем его в версию:
[version]($env:BUILD_BUILDNUMBER)
Cannot convert value "1.0.0.20" to type "System.Version". Error: "Input string was not in a correct format."
Работает нормально при попытке вручную:
[version]("1.0.0.20")
Есть идеи, что не так с моей переменной? Я не могу изменить его, поскольку он предоставлен мне как есть.
Благодарность!
1 ответ
У меня тоже была такая же проблема, но в моем конвейере Azure DevOps (задача PowerShell).
Я решил эту проблему, поместив дополнительные скобки вокруг [Version]$someVariable, чтобы было так: ([Version]$someVariable)