我们正在使用nugetter将nupkg作为我们构建过程的一部分,用于仅偶尔构建的解决方案,以及我们希望将来分发的解决方案。我们还想在我们拥有的其他解决方案中使用此软件包。到目前为止,我已经能够生成一个我们可以安装的软件包。现在,我希望确保此软件包每次构建时都会更新其版本,以便我们可以轻松更新软件包。我认为使用内部版本号是一个很好的方法,但如果我不必开始编写一个PowerShell脚本来更新包的nuspec,我愿意使用任何递增方案。每一次建设。
有没有办法在nugetter中自动执行此操作?
如果没有,是否比使用powershell修改nuspec更容易?
答案 0 :(得分:0)
我们正在尝试做同样的事情。 NuGetter附带了一个构建在TfsVersioning之上的构建过程模板。你在用它了吗?如果是这样,您只需要为您的NuGet包ID添加一个特殊元素到VersionSeed.xml
文件。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VersionSeed>
<Solution name="Your Solution Name">
<!-- This is the pattern used to replace the AssemblyVersion value. -->
<AssemblyFileVersionPattern>1.0.J.B</AssemblyFileVersionPattern>
<!-- This is the pattern used to replace the AssemblyVersion value. -->
<AssemblyVersionPattern>1.0.0.0</AssemblyVersionPattern>
</Solution>
<NuGetPackage id="Your NuGet Package ID">
<!-- This is the pattern used to replace the version attribute in the NuSpec file. -->
<VersionPattern>1.0.J.B</VersionPattern>
</NuGetPackage>
</VersionSeed>
这不是一个记录完备的NuGetter功能,但它位于他们的帮助文件中。
此外,您仍然需要在NuSpec文件中设置<version>
属性。目前,我将其强制为0.0.0.0,因为无论如何它都会被构建过程覆盖。完全删除<version>
元素似乎总是导致崩溃。