#powershell #nuget #powershell-3.0 #chocolatey
#powershell #nuget #powershell-3.0 #шоколадный
Вопрос:
Я получил следующую ошибку при установке windirstat и ilmerge на Chocolatey. Я подозреваю, что поведение амперсанда изменилось в PowerShell 3.0.
Running powershell -NoProfile -ExecutionPolicy unrestricted -Command "amp; import-module -name 'C:NuGetchocolateyInstallhelperschocolateyInstaller.psm1'; amp; 'C:NuGetlibilmerge.2.10.526.4toolschocolateyInstall.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 'amp;' in a pipeline element produced an invalid object. It must result in a command name, script block or Command
Info object.
-----------------------
Ответ №1:
Проблема заключалась не в поведении амперсанда, которое мне пришлось заменить $oc = Get-Command 'Write-Host' | ?{$_.ModuleName -eq 'Microsoft.PowerShell.Utility'}
на $oc = Get-Command 'Write-Host' -Module 'Microsoft.PowerShell.Utility'
, а также выполнить аналогичную замену для оболочки ошибки записи.
Ответ №2:
Как насчет запуска PowerShell с параметром -version 1.0 или 2.0? Затем запустите приведенную выше команду и посмотрите, есть ли какая-либо разница.
В командной строке
PowerShell -версия 2.0