我之前使用过AppVeyor用于任何/所有我的nuget包CI / CD管道。当我在GitHub中标记一个repo时,标记名称是要推送到NuGet.org的nuget包的版本。
我正在尝试使用Azure DevOps执行此操作。与我正在做的事情有什么不同的是,当Azure DevOps中发生提交/ PR时,代码在那里被编译然后结果包被存储为工件。在此过程中,我们不知道nuget包的版本是什么。
稍后,我们决定推高软件包,因此我们创建了一个标签(例如1.0.0.0)。但是......我们不确定:
让人们使用nuget和Azure DevOps完成任务并能够在手动发布时设置版本吗?
正如您已经说过的那样,该版本嵌入在构建的dll中。因此,如果您想创建一个与给定标记相关联的软件包版本,则必须重建它。
设置它的一种简单方法是简单地重建要升级到某个版本的rev./branch。您甚至可以包括在该构建中创建标记(有几个市场扩展提供此功能,即https://marketplace.visualstudio.com/items?itemName=jabbera.git-tag-on-release-task&targetId=40fd72d6-e22e-47ed-ae29-510062ad84c8)。
此时,您可以选择将包推送到目标Nuget订阅源,或者如果您愿意,可以在单独的版本管道中执行此操作。