我们正在尝试做同样的事情。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 功能,但它在某个地方的帮助文件中。
此外,您仍然必须<version>
在 NuSpec 文件中设置属性。目前,我将其强制为 0.0.0.0,因为无论如何它都会被构建过程覆盖。完全删除<version>
元素似乎总是会导致崩溃。