我们正在尝试做同样的事情。 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>
元素似乎总是导致崩溃。