Question

This is my nuspec file to get the package generated from teamcity. The version is actualy set by the teamcity variable.

<?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>

How would I replace the version with the current teamcity build id number? Tried with both $teamcity.build.id$ and %teamcity.build.id%

This did not work. I tried with $version$ as well. The version gets correctly replaced in the version tag of the package, but not on the dependency.

I want to use the same version of the package that is in the current build, so they have the same build number.

Était-ce utile?

La solution

Resolved with AssemblyInfo patcher from Teamcity Build Features.

To fix,

Configuration Steps -> Build Steps -> Add Build Feature (Button)

Add AssemblyInfo Patcher and give the version to 1.0.%teamcity.build.id% and that resolved the problem.

Having the dependent libraries at the version with the $version$ resolved it.

Hope it helps.

Autres conseils

You don't need to replace it via TeamCity variables. Use the -version switch, something like:

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

This way the nuspec version will be overridden at runtime.

I solved it by simply putting [$version$] in my dependency.

In TeamCity 9.1 You can override the version number in the "Nuget Pack" build step.

enter image description here

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top