VSTS Nuget Publishing - PullRequest
       9

VSTS Nuget Publishing

0 голосов
/ 18 ноября 2018

У меня есть проекты, которые я собираюсь отправить на сервер nuget VSTS - частный * в определении сборки).У меня есть один проект, который выдвигает ok и появляется в проводнике nuget в Visual Studio.У меня есть другой проект, который зависит от первого проекта в качестве зависимости.Я настроил процесс сборки для взаимодействия с зависимым проектом на частном сервере Nuget - и он собирается нормально.Упаковка завершается неудачно, хотя указывает, что пакет nuget из оригинального проекта не может быть найден.Ниже приведен сценарий, в котором я работаю:

проект A Build Project A пакет nuget пакет Project A опубликовать пакет nuget

project B NUGET GET - проект A (проходит) проект B Build (Передача) Пакет nuget пакета B проекта (не выполняется), после сообщения об ошибке

Сбой команды nuget с кодом выхода (1) и ошибкой (Невозможно найти «A.nupkg». Убедитесь, что проект собран.)

Не уверен, почему упаковка проекта B ищет пакет проекта A.Задача упаковки пакета B указывает только на файл проекта B проекта - неясно, почему он ищет пакет проекта А, который не упаковывается в текущий пакет

1 Ответ

0 голосов
/ 18 ноября 2018

ОК - после исследования я обнаружил, в чем проблема. VSTS nuget TASK для операции put работает явно в проекте Visual Studio .net (не является решением). Поняв, что операции упаковки NUGET нужно знать расположение других включенных пакетов nuget, я понял, что происходит. Поскольку указанное местоположение является проектом Visual Studio, он ищет местоположение пакета в папке над местоположением целевого проекта Visual Studio. Теперь моя система не поддерживает решения таким образом, поэтому поиск папки Package не удался. Было бы неплохо, если бы в сообщении об ошибке указывалось, что он не может найти пакет в просматриваемой папке. Поняв, что происходит, я обнаружил, что есть файл конфигурации с именем nuget.config, который находится в том же месте, в котором находится целевой проект Visual Studio, в котором можно указать расположение пакетов nuget.

 <configuration>
  <config>
   <add key="repositoryPath" 
    value="..\..\..\OrderIT\Solutions\DataManagementCore\packages" />
   </config>
 </configuration>

Это решило проблему. Было бы неплохо, если бы MS подготовила задачу NUGET для принятия решения Visual Studio, а затем возможность выбрать проект из решения, которое упаковывается, чтобы можно было найти папку пакета (по умолчанию Visual Studio помещает папку пакета в местоположение, которое ищет операция nuget).

Peter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...