我正在使用TFS将NuGet包推送到内部订阅源,它可以正常工作,除了它会删除包的版本号的最后一位数。
以下是我在日志文件中的内容:
2017-01-12T14:22:47.5046993Z [command] C:\ BuildAgent \ tasks \ NuGetPublisher \ 0.2.21 \ node_modules \ nuget-task-common \ NuGet \ 3.3.0 \ NuGet.exe push -NonInteractive C :\ BuildAgent_work \ 17 \ b \ MyNugetPackageExample。 3.0.0.0 .nupkg -Source \\ MyExampleServer \ MyExampleShare \ MyExampleNuGetFeed -ApiKey VSTS 2017-01-12T14:22:47.9734608Z将MyNugetPackage示例 3.0.0 推送到'\\ MyExampleServer \ MyExampleShare \ MyExampleNuGetFeed'... 2017-01-12T14:22:48.0047074Z您的包裹被推了。
日志显示我创建的程序包文件的版本号是3.0.0.0,但是当它推送时已经更改为3.0.0。这意味着我最终得到的文件名为MyNugetPackageExample.3.0.0.nupkg,与原始版本不同。
在将TFS服务器升级到最新版本之前,这一切都很好。我们的程序集的版本是非标准的,因此我们需要NuGet包中的所有4位数字。
如何让它停止使用包文件名?
其他信息(13/01/2017):
事实证明,当-version参数显式设置为3.0.0.0且生成的文件为3.0时,NuGet Packager创建的包MyNugetPackageExample.3.0.0.0.nupkg使用NuSpec文件中的3.0.0版。文件名中为0.0。
当推送包时,它会更新文件名以使用NuSpec文件中保存的版本。