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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With