У меня есть несколько решений, которые могут обмениваться пакетами друг с другом через канал NuGet (разработано TeamCity, 2018.1.3 (сборка 58658)). SolutionA предоставляет несколько проектов для канала NuGet, проекты из SolutionB ссылаются на некоторые из этих пакетов. Некоторые из проектов из SolutionB также должны быть упакованы и опубликованы в канале NuGet.
Для SolutionA упаковка и публикация идеальны. Для SolutionB упаковка проектов, зависящая от пакетов, опубликованных в NuGet из SolutionA, не выполнена из-за странной проблемы. Когда TeamCity выполняет шаг восстановления пакета NuGet, пакеты загружаются в папку packages\Project.From.SolutionA.3.181.181\
. Затем этап сборки успешно завершен, но этап упаковки не выполнен из-за команды NuGet pack ищет пакет в папке packages\Project.From.SolutionA\3.181.181\
!
Ниже приведен журнал сборки из команды pack (версия NuGet 4.8.1)
Missing <TeamCityDir>\buildAgent\work\fbb25b8e9614747\packages\Project.From.SolutionA\3.181.181\Project.From.SolutionA.3.181.181.nupkg
Error NU5012: Unable to find 'Project.From.SolutionA.3.181.181.nupkg'. Make sure the project has been built.
NuGet.Packaging.Core.PackagingException: Unable to find 'Project.From.SolutionA.3.181.181.nupkg'. Make sure the project has been built.
at NuGet.CommandLine.ProjectFactory.AddDependencies(Dictionary`2 packagesAndDependencies)
at NuGet.CommandLine.ProjectFactory.ProcessDependencies(PackageBuilder builder)
at NuGet.CommandLine.ProjectFactory.CreateBuilder(String basePath, NuGetVersion version, String suffix, Boolean buildIfNeeded, PackageBuilder builder)
at NuGet.Commands.PackCommandRunner.BuildFromProjectFile(String path)
at NuGet.Commands.PackCommandRunner.BuildPackage()
at NuGet.CommandLine.PackCommand.ExecuteCommand()
at NuGet.CommandLine.Command.ExecuteCommandAsync()
at NuGet.CommandLine.Command.Execute()
at NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args)
Единственное, что заменили, это реальные пути и названия проектов