Nuget.exe打包超时

时间:2017-11-22 10:25:01

标签: nuget f#-fake

作为构建过程的一部分,它与NuGet打包并推送到NuGet服务器。一切都很好,但在将NuGet版本更新到最新版本之后,它只会挂在pack命令上。 我使用F#Fake进行构建过程,经过相当长的一段时间nuget.exe pack命令刚刚超时:

Running build failed.
Error:
System.Exception: Process E:\Builds\projectName\build\tools\nuget\nuget.exe pack -Symbols -Version 1.0.0.0-pre -OutputDirectory "E:\Builds\projectName\build\package\out" "E:\Builds\projectName\build\package\tmp\template.nuspec" -NoPackageAnalysis    timed out.
   at Fake.NuGetHelper.NuGet(FSharpFunc`2 setParams, String nuspecOrProjectFile) in D:\code\FAKE\src\app\FakeLib\NuGet\NugetHelper.fs:line 423
   at FSI_0005.Build.clo@163-25.Invoke(Unit _arg10)
   at Fake.TargetHelper.runSingleTarget(TargetTemplate`1 target) in D:\code\FAKE\src\app\FakeLib\TargetHelper.fs:line 626

更新 直接没有Fake包裹的相同命令,在下面的线上停留约20分钟:

NuGet Version: 4.4.1.4656
Attempting to build package from 'template.nuspec'.

最后它确实创建了包,但从来没有这么久。 我已经使用NuGet v2.8.6进行了测试,同样的操作需要几秒钟。

1 个答案:

答案 0 :(得分:0)

经过一些反复试验,我发现NuGet的4个版本中的任何一个版本都存在花费很长时间来创建包的问题。

我已经停止了v3.5.0,其中包装时间正常。

然而它有another unexpected/frustrating change,它强制版本规范化,即如果请求打包1.0.123.0,则生成nuspec,1.0.123跳过最后的0。 更新:显然版本规范化是版本3.4及更高版本的documented重大更改。