如何将自定义参数传递给build.ps1?

10

我尝试运行 build.ps1 -SettingsProfile "Customer",但它输出了以下内容

More than one build script specified.

在我的Cake脚本中,我通过以下方式获取:

Argument("SettingsProfile", "Default")

如果我跳过build.ps1的参数,那么它就会运行,但显然会变成“默认值”。

2个回答

17

我假设您正在使用默认的启动程序。 如果是这样,您可以使用-ScriptArgs参数来传递自定义的Cake参数。

Cake参数不像标准的PowerShell参数(-Key value)那样进行格式化,而是采用--Key="value"的形式。 因此,您的情况应该如下所示:

.\build.ps1 -ScriptArgs '--SettingsProfile="Customer"'
您的Cake脚本参数使用看起来很好,因此上述修改应该解决您的问题。

您的Cake脚本参数使用看起来很好,因此上述修改应该解决您的问题。


谢谢!问题解决了。 - user6671157
6
是的: powershell -File build.ps1 -ScriptArgs '--deployEnv=st','--bldversion=1.2.3' 意思是在 PowerShell 中运行名为 "build.ps1" 的脚本,并传入两个参数:"--deployEnv=st" 和 "--bldversion=1.2.3"。 - John Korsnes
2
@JohnKorsnes:按照你的方式使用多个参数会出现“指定了多个构建脚本”的错误。 powershell -File build.ps1 -ScriptArgs '--deploymentPackagePath=\\server\folder1','--releasePackagePath=\\server\folder2' - debgz
这很奇怪,因为在添加第三个参数“--version="3.0.2"”后,执行命令.\build.ps1 -ScriptArgs '--dir="../CompulsoryCow.Meta/CompulsoryCow.Meta"', '--proj="CompulsoryCow.Meta"', '--version="3.0.2"' -Target Package会导致错误:“参数值不是有效的布尔值”。而在没有第三个参数时,命令.\build.ps1 -ScriptArgs '--dir="../CompulsoryCow.Meta/CompulsoryCow.Meta"', '--proj="CompulsoryCow.Meta"' -Target Package却可以正常工作。 - LosManos

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接