Пакет include-referenced-projects со ссылками на проекты - PullRequest
0 голосов
/ 06 июля 2018

У меня есть решение, которое выглядит так:

Sln -> Proj A -> proj B

Proj B ссылки Proj A

Оба проекта имеют paket.template, который выглядит следующим образом:

type project

Когда я paket pack, я получаю два ньюджета, по одному для каждого проекта. Фантастическая.

Однако теперь я хочу, чтобы ProjA.dll был связан внутри ProjB nuget (ProjB - это .exe / инструмент, которому для работы нужны свои зависимости)

Добавление include-referenced-projects true к ProjB s paket.template не имеет никакого эффекта, равно как и любая комбинация paket командной строки --include-referenced-projects true, которую я пробовал.

Это поддерживается? Это ошибка? Я делаю это неправильно?

В любом случае, как мне достичь того, чего я хочу, без принятия отдельных решений для размещения ProjA и ProjB?

Спасибо

1 Ответ

0 голосов
/ 06 июля 2018

Если вы посмотрите на ProjB.nuspec из полученного пакета nuget, вы увидите ссылку nuget на пакет ProjA. Таким образом, полученный пакет ProjB имеет все необходимые зависимости.

Вы можете достичь желаемого несколькими способами:

  1. Упаковать ProjB по команде paket pack <output> --template <path to ProjB paket.tempplate> (без флага --include-referenced-projects). Упакуйте ProjA отдельной командой, если вам это нужно.

  2. Удалить paket.template из ProjA, затем упаковать ProjB с флагом --include-referenced-projects. Но в этом случае пакет для ProjA не будет создан.

  3. Измените тип paket.template для ProjB с «проекта» на «файл» и укажите все зависимости и файлы вручную.

  4. (HACK :)) вы можете переименовать paket.template для ProjA из paket.template в <somethingElse>.template и упаковать ProjB с флагом --include-referenced-projects. Пакет не найдет, чем ProjA создаст пакет nuget и добавит его как бинарную зависимость к ProjB. Вы все еще можете упаковать ProjA отдельной командой paket pack --template "path to <somethingElse>.template"

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