Version control 在VS2010中构建时,Nuget如何跟踪软件包版本?

Version control 在VS2010中构建时,Nuget如何跟踪软件包版本?,version-control,nuget,nuget-package,Version Control,Nuget,Nuget Package,我已经注意到有几次Nuget pack会重置包的版本,实际上是从头开始,并使包的版本低于前一个版本 我正在使用VS2010和AssemblyInfo.cs中的星号*功能生成版本: // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: [assembly: AssemblyVersion("1.0.0.*")]

我已经注意到有几次Nuget pack会重置包的版本,实际上是从头开始,并使包的版本低于前一个版本

我正在使用VS2010和AssemblyInfo.cs中的星号*功能生成版本:

// You can specify all the values or you can default the Revision and Build Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.*")]
//[assembly: AssemblyFileVersion("1.0.*")]
现在,我可能有一个编号为1.0.0.32334的构建,然后该构建会突然随机地变成例如1.0.0.16272,并且从中构建的包也会发生同样的情况

这完全是随机发生的(还没有弄清楚确切的时间或在什么条件下发生),但它非常恼人,因为它杀死了Nuget的更新机制——因为它找不到新版本


还有其他人注意到了吗?

简短回答:默认情况下,Nuget只使用程序集版本,但您可以在nuspec或命令行中重写

根据版本号的格式如下:

大调、小调、构建、修订

:

默认生成数每天递增。默认版本号是随机的

使用自动生成编号时,应允许VS自动增加生成编号和修订编号,如注释掉的示例所示。尽管文档声称修订号是随机的,但在我看来它不是随机的。事实上,它似乎一整天都在增加,第二天可能会重置。然而,我不会指望这一点,因为这可能是一个可能会改变的实现细节

通过不让VS选择版本号,实际上是将其减少为随机数,因此有时修订号小于以前的修订号并不奇怪。除非在nuspec中或从命令行重写,否则NuGet只接受程序集版本并对包使用相同的版本。因此,根本原因可能是您选择程序集版本号的方式

如果可以,只需将版本控制方案更改为:

[assembly: AssemblyVersion("1.0.*")]

但是如果这是不可接受的,那么您必须在Nuspec中维护版本号,或者在调用
Nuget pack
时在命令行中提供版本号。简短回答:默认情况下,Nuget只使用程序集版本,但您可以在Nuspec或命令行中重写

根据版本号的格式如下:

大调、小调、构建、修订

:

默认生成数每天递增。默认版本号是随机的

使用自动生成编号时,应允许VS自动增加生成编号和修订编号,如注释掉的示例所示。尽管文档声称修订号是随机的,但在我看来它不是随机的。事实上,它似乎一整天都在增加,第二天可能会重置。然而,我不会指望这一点,因为这可能是一个可能会改变的实现细节

通过不让VS选择版本号,实际上是将其减少为随机数,因此有时修订号小于以前的修订号并不奇怪。除非在nuspec中或从命令行重写,否则NuGet只接受程序集版本并对包使用相同的版本。因此,根本原因可能是您选择程序集版本号的方式

如果可以,只需将版本控制方案更改为:

[assembly: AssemblyVersion("1.0.*")]

但是如果这是不可接受的,那么您必须在Nuspec中维护版本号,或者在调用
Nuget pack

即时应答时在命令行中提供版本号!事实上,你们对修订号的看法是对的,我想它会在一天内重置,因此我们今天的修订号会比昨天的版本号低。我确实着手构建自动化版本控制方案,这就解决了这个问题!事实上,你们对修订号的看法是对的,我想它会在一天内重置,因此我们今天的修订号会比昨天的版本号低。我确实着手构建自动化版本控制方案,解决了这个问题。