Как упаковать. NET Основные проекты рекурсивно без запуска пакета на всем решении? - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть решение на сотню с плюсом. NET Основные проекты. Не все из них должны быть упакованы, а только те, которые являются переходными зависимостями нескольких специальных проектов.

Однако, когда я запускаю dotnet pack, он пытается упаковать все виды проектов, которые не должны, и есть ошибки здесь и там. Вместо этого я хотел бы запускать pack для специальных проектов только рекурсивно, чтобы упаковывались только они и их транзитивные зависимости (конечно, ссылки на проекты). команда dotnet list reference, но она не звучит правильно. Там должен быть лучший способ сделать это.

РЕДАКТИРОВАТЬ 1

Решение должно работать в командной строке, где мы делаем tnet и msbuild и, возможно, nuget , но не VS IDE.

1 Ответ

1 голос
/ 14 апреля 2020

Вы можете изменить настройки своего проекта для генерации файла * .nupkg во время dotnet build, без явного вызова dotnet pack. И как только зависимости будут построены автоматически при сборке «родительского» проекта - вы получите пакеты nuget, подготовленные также для всех зависимостей, когда вы запустите dotnet build только для «родительского» проекта.

Для каждого проекта, который должен произвести Пакет nuget добавляет следующие строки в файл csproj:

<PropertyGroup>
  <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

Или вместо этого вы можете включить флажок «Создать пакет NuGet при сборке» из Visual Studio в свойствах проекта (вкладка «Пакет») - это добавит та же строка в файл проекта.

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