Tfs 在nupkg中编辑nuspec文件

Tfs 在nupkg中编辑nuspec文件,tfs,nuget,semantic-versioning,nuspec,Tfs,Nuget,Semantic Versioning,Nuspec,我想在TFS上的ci进程之后创建一个语义版本化的nupkg。nupkg应如下所示 MSVersioningSample.1.0.7-ci-20170926-184446.nupkg 但是,当我决定它是一个发行版。我想重命名nupgk,并将其作为发布版本重新发布到nuget提要 MSVersioningSample.1.0.7.nupkg 当我重命名nupkg文件并发布它时,它的版本号仍然保持不变,并且在发布过程中会发生冲突 然后,我意识到。nupkg文件中有一个.nuspec文件,我必须更改nu

我想在TFS上的ci进程之后创建一个语义版本化的nupkg。nupkg应如下所示

MSVersioningSample.1.0.7-ci-20170926-184446.nupkg

但是,当我决定它是一个发行版。我想重命名nupgk,并将其作为发布版本重新发布到nuget提要

MSVersioningSample.1.0.7.nupkg

当我重命名nupkg文件并发布它时,它的版本号仍然保持不变,并且在发布过程中会发生冲突

然后,我意识到。nupkg文件中有一个.nuspec文件,我必须更改nuspec文件中的版本号


我的问题是,如何使用(powershell)脚本在nupkg中编辑nuspec文件?

似乎您希望使用预发布版本nupkg,但在准备发布时删除预发布版本。您必须在
nuspec
文件中重写
元素。但处理所有情况并不那么容易,例如,如果您的构建生成了多个包,其中一些包相互依赖?现在还需要发现依赖关系图并重写相应的元素

要更新“*.nuspec”文件中的版本字段,可以在GitHub中引用此powershell脚本:

另一个解决方法是添加两个nuget打包步骤来构建流程。 一个包装有
-ci
编号,另一个没有

然后,您只需确保只将'release'包复制到ArtifactStagingDirectory,该目录已经没有prerelease段

还要设置您的发行版,以便它使用内部版本号作为发行版名称。一个小问题,包括-
ci
编号