使用VS release版本管理的PowerShellOnTargetMachines任务时的ParameterBindingException

时间:2016-05-24 19:23:39

标签: release-management tfs2015 ms-release-management

在我的发布定义中,我有在目标计算机上运行PowerShell 的任务。 powershell脚本是具有内置资源的 DSC配置文件。它曾经工作正常,直到我添加了2个新的必需字符串参数。现在任务突然出现并要求缺少参数。即使我在脚本参数部分中指定了格式为:

的格式
-ModulesSourcePath "$(ModulesPath)" -ProvidersSourcePath "$(ProvidersPath)"

此处, ModulesPath ProvidersPath 是自定义环境变量。 Powershell任务也是这种环境的一部分。

这是我的配置文件:

Configuration DeploymentPreRequisites_Configuration
{
    param
    (
        [Parameter(Mandatory)]
        [ValidateNotNullOrEmpty()]
        [String]$ModulesSourcePath,

        [Parameter(Mandatory)]
        [ValidateNotNullOrEmpty()]
        [String]$ProvidersSourcePath
    )

    Node ('localhost')
    {
        File CopyProvider
        {
            DestinationPath = "$env:ProgramFiles\PackageManagement\ProviderAssemblies\nuget"
            Checksum        = "ModifiedDate"
            Ensure          = "Present"
            Recurse         = $true
            SourcePath      = $ProvidersSourcePath
            Type            = "Directory"
            MatchSource     = $true
        }
    }
}

DeploymentPreRequisites_Configuration

我还验证了脚本参数在日志文件中正确解析。

##[debug]scriptPath = C:\temp\somepath\Deploy\EnsureModulesAndResources.ps1
##[debug]scriptArguments = -ModulesSourcePath "<src-path>" -ProvidersSourcePath "<dest-path>"

感谢您的帮助!

0 个答案:

没有答案