Как отключить «транзитивное управление пакетами»?
Я хочу sh, чтобы я мог установить пакет, который я «упаковал» локально и поместил в файл .nupkg. Когда я пытаюсь это сделать, я получаю сообщение о том, что Параметр 'Source' не учитывается для проектов, основанных на управлении переходными пакетами {файл csproj}. Будут использоваться разрешенные источники в вашей конфигурации NuGet.
Полный контекст
При разработке пакета NuGet, который не готов для распространения через наш канал NuGet, я часто создаю локальный .nupkg. Файл, подобный этому, из консоли диспетчера пакетов:
пакет nuget {путь-к-csproj-файлу}
Это создает файл {project-name} .nupkg, который я затем могу установить в другой проект, открыв его в Visual Studio, перейдя в консоль диспетчера пакетов и введя команду
Install-Package {path-to-nupkg-file}
. Это отлично сработало, и как только пакет NuGet будет готов к распространению, мы наберем sh Azure DevOps, и пусть конвейер сборки отправит его в наш фид sh.
Однако я только недавно унаследовал проект, в котором предыдущий разработчик, по-видимому, настроил «транзитивное управление пакетами», которое предотвращает этот рабочий процесс. Вот что я получаю, когда пытаюсь установить напрямую из файла .nupkg:
Install-Package C:\Users\Josh\source\repos\SpeakerDiscountManager\SpeakerDiscountData.1.0.5.nupkg
The 'Source' parameter is not respected for the transitive package management based project(s) MembershipApplicationWidget\MembershipApplicationWidget.csproj. The enabled sources in your NuGet configuration will be used.
<snipped several lines of unsuccessfully searching configured package sources>
Install-Package : NU1102: Unable to find package SpeakerDiscountData with version (>= 1.0.5)
Очевидно, что он не находит пакет, который я указал через файл, потому что он ищет онлайн-фиды и не не существует ни в одном из наших сетевых источников пакетов - пакет находится в состоянии тестирования, не готов для использования кем-либо, кроме меня.
На основании сообщения об ошибке мне нужно отключить "транзитивное управление пакетами msgstr "чтобы я мог указать источник файла для пакета, но я не смог найти в сети какую-либо информацию о том, как это настроено.
Я пытался установить точно такой же файл .nupkg в другом проекте с использованием той же процедуры Install-Package {path-to-nupkg-file}. Это работает.