如何在TFS构建中将数组传递给powershell脚本?

如何在TFS构建中将数组传递给powershell脚本?,powershell,tfsbuild,Powershell,Tfsbuild,我正在运行TFS 2013,有一个“预构建”powershell脚本,它接受字符串数组和字符串作为参数。我的问题是如何将字符串数组和单个字符串传递给脚本 从straight powershell执行此操作非常简单: function Do-Something() { [CmdletBinding()] param( [string[]] $files, [string]$pathToSearch ) Clear-Host

我正在运行TFS 2013,有一个“预构建”powershell脚本,它接受字符串数组和字符串作为参数。我的问题是如何将字符串数组和单个字符串传递给脚本

从straight powershell执行此操作非常简单:

function Do-Something() {
    [CmdletBinding()]
    param(
        [string[]] $files,
        [string]$pathToSearch
    )

    Clear-Host

    foreach ($file in $files) {
        Write-Host "File path: $file"
    }
}

Do-Something -files:("one", "two", "three") -pathToSearch:"pathToSearch!!"
然而,通过TFS似乎并不那么容易:

在预构建脚本参数中,我有以下内容:

"123.txt", "C:\"
所有这些都被放入数组参数中。我试过这样做:

-files:("123.txt") -pathToSearch: "C:\"

但是,第一个参数值似乎是(“123.txt”)而不是“123.txt”。

检查本文如何调用脚本?这是来自VS预构建事件还是您正在使用MSBuild的Exec任务?@KeithHill它是通过TFS 2013构建的预构建脚本部分调用的:我们仍然在TFS 2012上,但如果它类似于InvokeProcess活动,请尝试以下
powershell.exe-Command“&{&'c:\path\to\script.ps1'-files 123.txt,c:\-pathToSearch c:\}”
您是如何让预构建接受字符串数组作为参数的?