Создайте .Net проект строго для композиции пакетов NuGet - PullRequest
0 голосов
/ 02 января 2019

Я хотел бы создать проект .Net (.Net Framework, а не Core), который существует исключительно для составления различных других пакетов NuGet.

У меня есть система на основе плагинов, где все плагины являются пакетами NuGet, а сама система ядра является пакетом NuGet. Базовая система бесполезна без плагинов, это строго двигатель, который знает, как запускать плагины. Поскольку я не хочу включать ссылки на плагины в моей основной системе, мне нужен совершенно отдельный проект, который представляет собой состав пакета основной системы и плагинов, которые я хотел бы использовать. Я называю это своим «составным» проектом, в котором я «собираю» все элементы вместе перед развертыванием на нашем сервере.

Пример существующих проектов / пакетов:

  • Базовая система (пакет NuGet ... не должен напрямую ссылаться на плагины)
  • Плагины
    • Плагин 1 (пакет NuGet)
    • Плагин 2 (пакет NuGet)
    • Etc. (Пакет NuGet)

Гипотетический "состав" проекта:

  • Композиционный проект
    • Справочник -> Базовая система
    • Справочник -> Плагин 1
    • Справочник -> Плагин 2

Есть ли способ создать проект, который представляет собой не что иное, как ссылки на пакеты NuGet, но не создает собственную сборку? Возможно, это можно сделать с помощью хитрости MSBuild.

1 Ответ

0 голосов
/ 03 января 2019

Я не знаю способа, с помощью которого можно было бы просто сбрасывать пакеты nuget со сборкой, к которой нужно присоединиться.

Но это нормально. Мы также сделали это здесь, в нашей компании. У нас есть решение и один файл .csproj, в который входят все пакеты nuget, которые нужны всем (сотням других проектов). И, конечно, он производит связанный .DLL. Но это нормально, просто сделайте шаг пост-сборки, который удалит его.

...