【发布时间】:2017-02-24 02:20:43
【问题描述】:
我尝试了 build.ps1 -SettingsProfile "Customer",但它输出了
More than one build script specified.
在我的 Cake 脚本中,我通过以下方式获取
Argument("SettingsProfile", "Default")
如果我跳过 build.ps1 的参数,那么它会起作用,但显然会变成“默认”。
【问题讨论】:
我尝试了 build.ps1 -SettingsProfile "Customer",但它输出了
More than one build script specified.
在我的 Cake 脚本中,我通过以下方式获取
Argument("SettingsProfile", "Default")
如果我跳过 build.ps1 的参数,那么它会起作用,但显然会变成“默认”。
【问题讨论】:
我假设您使用的是 default boostrapper。
如果是这样,您可以使用 -ScriptArgs 参数来传递您的自定义 Cake 参数。
Cake 参数的格式不像标准 PowerShell 参数 (-Key value),而是像 --Key="value"
因此,您的场景将如下所示
.\build.ps1 -ScriptArgs '--SettingsProfile="Customer"'
您的 Cake 脚本参数用法看起来不错,因此上述修改应该可以解决您的问题。
【讨论】:
powershell -File build.ps1 -ScriptArgs '--deploymentPackagePath=\\server\folder1','--releasePackagePath=\\server\folder2'
.\build.ps1 -ScriptArgs '--dir="../CompulsoryCow.Meta/CompulsoryCow.Meta"', '--proj="CompulsoryCow.Meta"' -Target Package 在添加第三个参数.\build.ps1 -ScriptArgs '--dir="../CompulsoryCow.Meta/CompulsoryCow.Meta"', '--proj="CompulsoryCow.Meta"', '--version="3.0.2"' -Target Package 时会产生Error: Argument value is not a valid boolean value.
根据您还想走多远,您还可以选择扩展引导程序以接受您的输入参数作为 PowerShell 参数。这里有一个关于如何扩展引导程序的教程:
http://cakebuild.net/docs/tutorials/extending-the-bootstrapper
【讨论】: