CAKE 抛出错误,声称参数未设置,即使它是
CAKE throws error claiming argument was not set, even though it was
我正在使用 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
我做错了什么?
尝试以下 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 排除在外。
我正在使用 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
我做错了什么?
尝试以下 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 排除在外。