如何阻止NuGet Push更改我的包的版本号?

时间:2017-01-12 14:59:09

标签: tfs nuget tfs2015

我正在使用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文件中保存的版本。

1 个答案:

答案 0 :(得分:3)

如果您查看tihs NuGet文档,您可以阅读“版本号的第四部分中的零将被省略”:

1.0.0.0被视为1.0.0
1.0.01.0被视为1.0.1