我有以下简单的psakefile.ps1
:
Task Build {
Write-Host "Build"
}
当我使用build.ps1
调用它时:
nuget install psake -version 4.9.0
Import-Module .\psake.4.9.0\tools\psake\psake.psm1 -Force
Invoke-psake psakefile.ps1
我得到一个异常,指出需要执行“默认”任务。我假设这意味着我可以在命令行上指定“ Build”,或提供一个名为“ default”的任务,所以我的psakefile.ps1
变为:
Task Build {
Write-Host "Build"
}
Task default -Depends Build {
# Nothing to do, only here as a placeholder
}
但是现在我得到一个非常奇怪的异常:
异常:断言: '{0}引用了模块{1}的共享任务,无法执行操作。
如果我在“默认”任务中放置了任何实际的代码,我会得到一个例外,说我需要再次执行默认任务。
答案 0 :(得分:0)
是的,当然我已经解决了这个问题,并且由于我无法在互联网上找到实际的异常消息,所以我想我会在这里回答一个问题,以便在某个地方找到答案(也许我将来的自我会结束这一天的阅读。)
问题很简单,当定义默认任务时,您不能放置ScriptBlock。相反,只需将其定义为:
Task default -Depends Build