13

这是我的 nuspec 文件,用于获取从 teamcity 生成的包。版本实际上是由 teamcity 变量设置的。

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Company.Name</id>
    <version>$version$</version>
    <title>Title</title>
    <authors>My Name</authors>
    <owners>We are the owners</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Support</description>
    <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
    <copyright>Copyright 2013</copyright>
    <tags>Core</tags>
    <dependencies>
        <dependency id="Core.Assembly" version="[1.0.$teamcity.build.id$]" />   
    </dependencies>
  </metadata>
</package>

如何用当前的 teamcity 构建 ID 号替换版本?尝试了两者$teamcity.build.id$%teamcity.build.id%

这没有用。我也试过了$version$。版本在包的版本标记中被正确替换,但不是依赖项。

我想使用与当前版本相同的软件包版本,因此它们具有相同的版本号。

4

4 回答 4

13

使用 Teamcity 构建功能中的 AssemblyInfo 修补程序解决。

修理,

配置步骤 -> 构建步骤 -> 添加构建功能(按钮)

添加AssemblyInfo Patcher并将版本提供给 1.0.%teamcity.build.id% 并解决问题。

具有 $version$ 版本的依赖库解决了它。

希望能帮助到你。

于 2013-07-29T19:23:28.963 回答
11

您无需通过 TeamCity 变量替换它。使用 -version 开关,例如:

nuget.exe pack <nuspec> -version %teamcity.build.id%

这样,nuspec 版本将在运行时被覆盖。

于 2013-07-28T21:50:43.807 回答
3

我通过简单地将 [$version$] 放入我的依赖项来解决它。

于 2015-12-09T03:09:44.323 回答
3

在 TeamCity 9.1 中,您可以在“Nuget Pack”构建步骤中覆盖版本号。

在此处输入图像描述

于 2015-12-15T19:34:08.827 回答