我正在使用Cake 0.21.1.0。
对于我的项目,作为TeamCity的构建步骤,我执行build.ps1
,后者又调用build.cake
。我按照the CAKE documentation:
build.ps1
脚本
-ScriptArgs '-MSBuildLogger="JetBrains.BuildServer.MSBuildLoggers.MSBuildLogger,%teamcity.dotnet.msbuild.extensions4.0%"'
在build.cake
中,我添加了以下行:
var msBuildLogger = Argument<string>("MSBuildLogger");
但是,抛出了以下错误:
[15:37:22]Error: Argument 'MSBuildLogger' was not set.
[15:37:22]Process exited with code 1
我做错了什么?
答案 0 :(得分:5)
尝试以下build.cake
文件:
var logger = Argument<string>("MSBuildLogger");
Task("Default")
.Does(() =>
{
Information(logger);
});
RunTarget("Default");
此外,使用以下命令从resources repository获取最新的引导程序文件:
Invoke-WebRequest https://cakebuild.net/download/bootstrapper/windows -OutFile build.ps1
然后运行以下命令:
.\build.ps1 -ScriptArgs '-MSBuildLogger="JetBrains.BuildServer.MSBuildLoggers.MSBuildLogger,%teamcity.dotnet.msbuild.extensions4.0%"'
在本地运行脚本时确认您获得了正确的输出。即将TeamCity排除在等式之外。