【问题标题】:TFS vNext Powershell build step is using older version of Powershell moduleTFS vNext Powershell 构建步骤正在使用旧版本的 Powershell 模块
【发布时间】:2016-08-25 04:08:09
【问题描述】:

当我尝试运行包含以下代码 Copy-Item -FromSession $cs 的任务以从不同的机器复制项目时,使用 Powershell++(它来自 Extension Utilities Pack)的构建步骤一直失败。错误信息是

找不到与参数名称“FromSession”匹配的参数。

但是,当我登录到那台机器时,从 PS 控制台运行代码不会失败。

然后我包括了

(get-command copy-item).Version.ToString()
(get-command copy-item).ModuleName.ToString()

在 PS 控制台中获得版本 3.1.0.0 和模块 Microsoft.PowerShell.Management,在 TFS 构建步骤输出中获得 3.0.0.0(模块相同)。两者的 Powershell 版本相同 - 5.0.10586.117。

看起来在 TFS 中运行的 Powershell 正在使用不同的模块。

有人可以帮忙吗?谢谢。

【问题讨论】:

  • 您在本地使用 VSTS 还是 TFS?您是在托管构建代理上安装它还是在 Windows 代理上加载它?
  • 另外,您是否尝试使用另一台代理机器? Powershell++ 任务中似乎没有设置模块:github.com/openalm/Extension-UtilitiesPack/tree/master/Utilites/…
  • 感谢您的帮助,但问题与该任务并不完全相关。但是使用的版本仍然让我感到困惑。

标签: powershell tfs tfsbuild


【解决方案1】:

对我对 Powershell 提供程序的了解不够多感到羞耻。当通配符包含在源路径中时,我得到了这个错误,没有通配符它工作正常。

FromSession 参数在 PS v5 中可用,并且不仅限于 Microsoft.PowerShell.Management 3.0.0.0(但这对我来说仍然是个谜)。

【讨论】:

    猜你喜欢
    • 2017-04-16
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    相关资源
    最近更新 更多