Замена переменных Teamcity в файле nuspec
Это мой файл 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>
как заменить версию текущим номером ID сборки teamcity? Пробовал с обоими $teamcity.build.id$
и %teamcity.build.id%
это не работа. Я пробовал с $version$
как хорошо. Версия правильно заменяется в теге версии пакета, но не в зависимости.
Я хочу использовать ту же версию пакет, который находится в текущей сборке, поэтому они имеют одинаковый номер сборки.
4 ответов
разрешено с помощью AssemblyInfo patcher из функций сборки Teamcity.
исправить,
Шаги Настройки - > Шаги Сборки - > Добавить Функцию Сборки (Кнопка)
добавить AssemblyInfo Patcher и дайте версию 1.0.%teamcity.строить.id% и это решило проблему.
наличие зависимых библиотек в версии с $version$ разрешило его.
надеюсь, что это помогает.
вам не нужно заменять его через переменные TeamCity. Используйте переключатель-version, что-то вроде:
nuget.exe pack <nuspec> -version %teamcity.build.id%
таким образом, версия nuspec будет переопределена во время выполнения.