1
$buildDef = "Service.xxxx"
$buildDefFull="MyProject/$buildDef"

Start-Job -Name 'Service1' -ScriptBlock { tfsbuild start /collection:"http://yyyy:8080/tfs/DefaultCollection"  /builddefinition:"$buildDefFull" }

私はこのエラーが発生します:

Option builddefinition requires a value.
    + CategoryInfo          : NotSpecified: (Option builddefinition requires a value.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
    + PSComputerName        : localhost

開始ジョブでパラメーターを受け入れるように tfsbuild を取得できないようです...ジョブなしで tfsbuild 部分を実行するだけで、実際には正常に動作します。

その値を渡す方法はありますか? TX

4

1 に答える 1

1

変数がスクリプト ブロックの$buildDefFull範囲外です。

次の 2 つのオプションがあります。

パワーシェル 3+

Usingスコープ修飾子を使用します。

$buildDef = "Service.xxxx"
$buildDefFull="MyProject/$buildDef"

Start-Job -Name 'Service1' -ScriptBlock { tfsbuild start /collection:"http://yyyy:8080/tfs/DefaultCollection"  /builddefinition:"$Using:buildDefFull" }

任意のバージョン

パラメータを定義してスクリプトブロックに渡します。

$buildDef = "Service.xxxx"
$buildDefFull="MyProject/$buildDef"

Start-Job -Name 'Service1' -ScriptBlock { param($bdf) tfsbuild start /collection:"http://yyyy:8080/tfs/DefaultCollection"  /builddefinition:"$bdf" } -ArgumentList $buildDefFull
于 2015-06-02T00:14:54.137 に答える