6

psake 4.5.0を使用して、 と の両方をdefault.ps1渡してファイルをさまざまな方法で実行しようとしましたが、これらの値は-scriptのルート スコープでは無視されます。-properties-parameters.ps1

相対実行 (サブフォルダー内の psake を使用) :

.\psake-4.5.0\psake.ps1 .\default.ps1 BuildSolution -properties @{"a"="a";"b"="b";"c"="c";"d"="d"} -parameters @{"w"="w";"x"="x";"y"="y";"z"="z"}

インポートされたモジュールで実行:

Import-Module .\psake-4.5.0\psake.psm1

Invoke-Psake .\default.ps1 BuildSolution -properties @{"a"="a";"b"="b";"c"="c";"d"="d"} -parameters @{"w"="w";"x"="x";"y"="y";"z"="z"}

インストールされた Chocolatey-package を介して実行します

psake .\default.ps1 BuildSolution -properties "@{'a'='a';'b'='b';'c'='c';'d'='d'}" -parameters "@{'w'='w';'x'='x';'y'='y';'z'='z'}"

実行cmd.exe:

psake-4.5.0\psake.cmd default.ps1 BuildSolution -properties "@{'a'='a';'b'='b';'c'='c';'d'='d'}" -parameters "@{'w'='w';'x'='x';'y'='y';'z'='z'}"

現在、default.ps1これらの値をすべてデバッグしているだけです。

// Since "properties" doesn't get populated, I also try "Param"
Param(
    $w = $w, // Trying to populate from passed param
    $x = $null, // Trying to default to null-value
    $y // Trying another syntax, hoping for population
    // "$z" left out, hoping for population
)

properties {
    $a = $a
    $b = $null
    $c
}

Write-Host "a: $a"
Write-Host "b: $b"
Write-Host "c: $c"
Write-Host "d: $d"
Write-Host "w: $w"
Write-Host "x: $x"
Write-Host "y: $y"
Write-Host "z: $z"

Task BuildSolution -Depends Clean {
    Write-Host "Running BuildSolution"
}

Task Clean {
    Write-Host "Running Clean"
}

すべての場合の出力は次のとおりです。

a: 
b: 
c: 
d: 
w: 
x: 
y: 
z:

properties渡すおよび/またはparameterspsakeに適切な構文は何ですか?

4

1 に答える 1