1
我已经开始使用powershell昨天,很惊讶它是多么容易与批处理相比。我能够通过在谷歌搜索一下搜索解决大多数问题,但在这种特殊情况下,我只是没有得到任何错误消息。powershell nuget推送失败,没有错误
这是有问题的脚本:
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'启动命令行应用程序。 –