.NET Framework (4.8) 的 Cake runner 不选择环境变量

igg*_*igg 3 c# cakebuild .net-4.8

我正在使用Cake runner for .NET Framework来构建 .NET Framework 4.8 控制台应用程序。我开始build.ps1使用:

Invoke-WebRequest https://cakebuild.net/download/bootstrapper/windows -OutFile build.ps1
Run Code Online (Sandbox Code Playgroud)

该文件中没有我自己的更改。我的build.cake样子是这样的:

Invoke-WebRequest https://cakebuild.net/download/bootstrapper/windows -OutFile build.ps1
Run Code Online (Sandbox Code Playgroud)

看看“AfterBuild”任务。基本上,我想在构建完成后读取一个环境变量并对其进行处理。但是,无论我做什么,cake 似乎都无法捡起它,而是始终使用我提供的默认值。

根据此处的文档,我假设是这样的:

$cake_env="actual env var value"
.\build.ps1
Run Code Online (Sandbox Code Playgroud)

应该工作,但它永远不会。我总是得到默认值:

========================================
AfterBuild
========================================
Running After Build ...
Got value of cake_env from environment: default value
Run Code Online (Sandbox Code Playgroud)

我不想使用参数,所以请不要推荐ScriptArgs. 我想要环境变量。

Gar*_*ark 5

这个:

$cake_env="actual env var value"
Run Code Online (Sandbox Code Playgroud)

正在设置本地 PowerShell 变量,而不是环境变量。

您应该能够使用:

$env:cake_env="actual env var value"
Run Code Online (Sandbox Code Playgroud)