Я начал использовать powershell вчера и удивлен тем, насколько легко он сравнивается с партией. Я смог решить большинство проблем с небольшим количеством поисковых запросов в google, но в этом конкретном случае я просто не получаю сообщений об ошибках.powershell nuget push сбой без ошибок
Это сценарий, о котором идет речь:
https://github.com/taori/AjaxHub/blob/master/build/executePackaging.ps1
$apiKey = [IO.File]::ReadAllText("publish.apiKey.txt")
foreach ($package in $packages){
[xml]$xml = Get-Content($package + ".nuspec")
$version = $xml.package.metadata.version;
"Setting up packacking for $package $version"
$packagePath = ".\packages\$package\$version";
If(Test-Path $packagePath){
Remove-Item -Recurse -Force $packagePath
}
md -Force $packagePath
$packArguments = "pack -Symbols -Version $version $package.nuspec -OutputDirectory $packagePath";
"Packaging with Nuget.exe $packArguments"
Start-Process -FilePath ".\Nuget.exe" -WindowStyle Hidden -ArgumentList $packArguments -ErrorAction Stop
$pushArguments = "push $packagePath\$package.$version.symbols.nupkg $apiKey"
"Pushing with Nuget.exe $pushArguments"
Start-Process -FilePath ".\Nuget.exe" -WindowStyle Hidden -ArgumentList $pushArguments -ErrorAction Stop
Start-Process -FilePath "https://www.nuget.org/packages/$package"
}
Read-Host -Prompt "Script done. Press <enter>"
Это только толкающая часть, которая не работает (по крайней мере, нет обновления на nuget.org) или производит какую-либо ошибка. Кто-нибудь знает, как заставить его работать или бросать ошибки, с которыми я могу работать?
Что вы проверить значение '$' 'после вызова nuget.exe'? – briantist
@briantist ничего печально. попытался присвоить возвращаемое значение из вызова процесса и вывести его. – Dbl
Вы можете попробовать запустить '. \ Nuget.exe' как' & Nuget.exe', это может быть чисто, но с текстом ошибки, напечатанным на консоли, которую вы не видите. Вообще-то я бы не использовал 'Start-Process' для запуска приложений командной строки. –