string - 在powershell中将字符串转换为布尔值
问题描述
我有一个将包上传到 Octopus 的脚本,我正在使用增量压缩,但出现以下错误:无法处理参数“DeltaCompression”上的参数转换。无法将值“System.String”转换为类型“System.Boolean”。我在推送调用中使用 Delta Compression,我已将 $DeltaCompression 设置为 bool 类型,所以我不确定为什么它在失败消息中说将字符串转换为布尔值。有人可以显示什么是错误的或解决这个问题吗?谢谢。
代码:
#Function to push packages to Octopus
function PushPackage {
param(
[string]$OctopusUri,
[string]$ApiKey,
[string]$Package,
[bool]$DeltaCompression
)
try{
$tries=1
do
{
Write-Host "Pushing $Package to Octopus"
& $OctoExePath push --package $Package --server $OctopusUri --apiKey $ApiKey --use-delta-compression $DeltaCompression --logLevel 'verbose'
$tries++
}until($LASTEXITCODE -eq 0 -or $LASTEXITCODE -eq $null -or $tries -gt 5)
}
catch{
$failMessage = "$($_.Exception.ToString()).$($_.InvocationInfo.PositionMessage)"
Write-Host "PUSH PACKAGE Exception--------- $failMessage"
}
}
$Package = "C:\temp\OctoTest\MyTestPackage.1.0.0.zip"
$OctoExePath = "C:\Users\QVL6\Downloads\OctopusTools.7.3.7.win-x64\octo.exe"
$DeltaCompression = "$false"
$ApiKey = "API-CRW9JBMJG8Z6ONIOATU16PVVV5E"
PushPackage $OctopusUri $ApiKey $Package $DeltaCompression
解决方案
您必须更换线路。
从 :
$DeltaCompression = "$false"
到 :
[bool]$DeltaCompression = $false;
推荐阅读
- angular - 在 Angular 中处理多部分响应体
- html - 如何在引导程序的小屏幕上更改导航栏切换按钮的位置
- ios - 定时器在 UITableView iOS 中没有更新
- puppet - Puppet 6 和模块 puppetlabs/accounts hiera yaml 不填充内容
- scheme - 无限流的累加器
- javascript - React Native 上的 Firebase orderByChild
- reactjs - 如何在渲染 reactjs 中使用方法?
- javascript - 如何使 HTML 画布不可聚焦/不可选择
- vmware - VMWare ESXI 多子网设置
- jenkins - 没有管理员 CMD 无法停止/启动 Windows 服务