Azure Build Pipeline: создание зависимостей решения не удается - не удается найти пакеты, но сборка файлов зависимостей csproj независимо работает нормально - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть решение с кучей разных API, которые ссылаются на разные зависимости, которые мы встроили в папку утилит.

В Azure Devops, когда я собираюсь создать решение, он жалуется, что не может найти зависимости этих зависимостей, и не работает.Эти зависимости указывают на те же зависимости решения, которые находятся на несколько папок вверх;таким образом, HintPath зависимости ../../packages в отличие от зависимости HintPath решения ./packages

Когда я создаю файлы csproj независимо от решения (т.е. не собираю их как зависимость решения), они строят простохорошо и найти папку пакетов без проблем.Nuget Restore не сообщает о проблемах, и мы проверили пакеты для контроля версий, поэтому ничего не должно быть упущеноДаже если бы это было так, Nuget восстановил бы их, если бы они отсутствовали.

Поэтому я думаю: когда я собираю решение и пытаюсь построить зависимости внизу, он пытается получить доступ к пакетам, начиная скаталог решений и затем оттуда вверх (master/../../packages/ вместо utilities/../../packages/).Эта папка не существует, что может привести к сбою, и имеет смысл выяснить, почему работают отдельные сборки зависимостей.

Кто-нибудь сталкивался с этой проблемой ранее в Azure Dev Ops или знает, как это исправить??

Мы могли бы отредактировать пути подсказок, чтобы они указывали на ./ для сработавших зависимостей, но у нас есть локальная сборка, которую мы все еще используем для производства, которая не функционирует таким образом и сломается.Мы пытаемся синхронизировать их.

Пожалуйста, дайте мне знать, если у вас есть какие-либо идеи.

Спасибо

1 Ответ

0 голосов
/ 27 сентября 2019

Построение Azure Build: сбой построения зависимостей решения - не удается найти пакеты, но сборка файлов зависимостей csproj независимо работает нормально

Чтобы решить эту проблему, вы можете попробовать установить зависимости этихзависимости от решения.Это потому, что команда NuGet устарела пакеты уровня решения в NuGet 3.0:

https://github.com/NuGet/Home/issues/522

Итак, мы должны убедиться, что все используемые пакеты для решения в папке пакетов по умолчанию ./packages вместопапки различных пакетов.

Если вышеупомянутое не поможет вам, вы можете поделиться структурой проекта в своем вопросе.

Надеюсь, это поможет.

...