gpt4 book ai didi

powershell - Psake Include 方法不起作用

转载 作者:行者123 更新时间:2023-12-04 00:07:29 27 4
gpt4 key购买 nike

我正在用 Psake 编写一个简单的 PS 脚本,当我尝试包含另一个 ps1 文件时遇到问题。

    PS C:\CI> Include .\EnvSettings.ps1

我有这个异常(exception)

Exception calling "Peek" with "0" argument(s): "Stack empty."
At C:\Users\Julien\Documents\WindowsPowerShell\Modules\psake\psake.psm1:227 char:2
+ $psake.context.Peek().includes.Enqueue(($pa));
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : InvalidOperationException

我查看了 psake.psm1 第 227 行,看看发生了什么

# .ExternalHelp  psake.psm1-help.xml
function Include {
[CmdletBinding()]
param(
[Parameter(Position=0,Mandatory=1)][string]$fileNamePathToInclude
)
Assert (test-path $fileNamePathToInclude -pathType Leaf) ($msgs.error_invalid_include_path -f $fileNamePathToInclude)
$psake.context.Peek().includes.Enqueue((Resolve-Path $fileNamePathToInclude));
}

代码成功通过 Assert 行。

问题来自 Resolve-Path $fileNamePathToInclude,它什么都不返回...如果我从命令行尝试它,它工作正常。

以前有人遇到过这个问题吗?

最佳答案

包含文件的方式不是Include .\EnvSettings.ps1,而是“dot source”文件:

. .\EnvSettings.ps1

关于powershell - Psake Include 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18617269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com