Изменилось ли поведение амперсанда в Powershell 3.0? - PullRequest
4 голосов
/ 13 ноября 2011

При установке windirstat и ilmerge on Chocolatey я получил следующую ошибку.Я подозреваю, что поведение амперсанда изменилось в PowerShell 3.0.

Running powershell -NoProfile -ExecutionPolicy unrestricted -Command "& import-module -name  'C:\NuGet\chocolateyInstall\helpers\chocolateyInstaller.psm1'; & 'C:\NuGet\lib\ilmerge.2.10.526.4\tools\chocolateyInstall.ps1'". This may take awhile and permissions may need to be elevated, depending on the package.
ilmerge did not finish successfully. Boo to the chocolatey gods!
-----------------------
[ERROR] The expression after '&' in a pipeline element produced an invalid object. It must result in a command name, script block or Command
Info object.
-----------------------

Ответы [ 2 ]

4 голосов
/ 17 ноября 2011

Проблема была не в амперсанде, мне пришлось заменить $oc = Get-Command 'Write-Host' | ?{$_.ModuleName -eq 'Microsoft.PowerShell.Utility'} на $oc = Get-Command 'Write-Host' -Module 'Microsoft.PowerShell.Utility', а также сделать аналогичную замену для оболочки Write-Error.

2 голосов
/ 15 ноября 2011

Как насчет запуска PowerShell с параметром -version 1.0 или 2.0? Затем выполните приведенную выше команду и посмотрите, есть ли какая-либо разница.

В командной строке

PowerShell-версия 2.0

...