即使版本号没有改变,如何启用更新?
我正在开发一个Nuget包。我们目前处于早期阶段,测试版/测试中。在测试完成之前,我们不更改版本号,但我们希望将更改后的包传递给测试人员进行测试。 但是包管理器不能看到更改,也不能允许更新,除非版本已更改,我可以重新安装,但我更希望测试人员能够进行更新。
那么,在版本号保持不变的情况下,如何实现这一点呢?
即使版本号没有改变,如何启用更新?
我正在开发一个Nuget包。我们目前处于早期阶段,测试版/测试中。在测试完成之前,我们不更改版本号,但我们希望将更改后的包传递给测试人员进行测试。 但是包管理器不能看到更改,也不能允许更新,除非版本已更改,我可以重新安装,但我更希望测试人员能够进行更新。
那么,在版本号保持不变的情况下,如何实现这一点呢?
我们正在将一个单体解决方案转换为Nuget化的微服务架构,因此需要重新启用此方法。虽然这种方法有点繁琐,但它是有效的:
进入NuGet选项并点击“清除所有NuGet缓存”。 对解决方案进行NuGet包还原操作。如果由于某些原因(例如Newtonsoft.json被“另一个进程使用”)而失败,请关闭所有Visual Studio实例并结束所有MSBuild.exe + VBCSCompiler.exe实例的任务。重新启动VS,然后它应该可以正常工作。
请注意,删除和重新添加软件包将无法解决问题,因为它仍将使用旧的缓存版本。
我刚遇到了同样的问题,我的搜索将我带到了这里。
通常我们使用AssemblyInformationalVersion
字段来指定预发布后缀,例如:
当在NuGet包管理器中启用预发布版本时,这些包也会被提供。只要后缀表达式“增加”,包管理器就将后续的预发布版本视为更新。因此,从一个经过深思熟虑的后缀开始非常重要,例如以下内容将不起作用:beta9
> beta10
(beta9
更高,因为第五个字符更高)。
一旦去掉后缀,该软件包将被视为发布,将作为更新提供给所有相同版本的预发布软件包。
但是,生活有时会与我们玩弄,有时我们会在刚刚发布的库中识别出一个小错误或改进。如果甚至没有在任何地方使用刚刚发布的库,因为它的发布仅在几分钟前,对于这样的微小更改再次增加版本号总是非常令人恼火。
对于这个问题,我尝试了Simon Storr概述的过程,但这并不足够。我在我们解决方案的packages目录中遇到了旧版本。在手动从那里删除它之后,它从某个地方获取了当前包。 我不确定它是否在此步骤中下载了当前包,还是从位于解决方案父目录中的更全局的packages目录中获取了它。