1

我刚刚安装了 psake 4.2.0 版。

我把这个放进去default.ps1

properties {
    $message = "Task A executed"
}

task default -depends taskA

task taskA {
    write-host $taskAmessage
}

如果我运行Invoke-psake taskA,则任务按预期执行。

当我在Invoke-psake没有任何参数的情况下执行时,就像在介绍中一样,我收到以下错误:

Test-Path : Cannot bind argument to parameter 'Path' because it is an empty string.
At D:\animesh\software\utilities\psake-master\psake-master\psake.psm1:291 char:26
+         Assert (test-path <<<<  $buildFile -pathType Leaf) ($msgs.error_build_file_not_found -f $buildFile)
    + CategoryInfo          : InvalidData: (:) [Test-Path], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.TestPathCommand

在我的 powershell 配置文件中,我psake每次运行 Powershell 时都会导入模块。

import-module "D:\animesh\software\utilities\psake-master\psake-master\psake.psm1"

项目页面中提出了这个确切的问题,但似乎没有解决。我该如何解决?

4

1 回答 1

1

模块代码似乎有问题,您可能需要将 psake.psm1 的第 269 行修改为:

[Parameter(Position = 0, Mandatory = 0)][string] $buildFile=$psake.config_default.buildFileName
于 2012-12-10T14:49:34.893 回答