Visual Studio автоматически восстанавливает пакеты dll - PullRequest
0 голосов
/ 29 ноября 2018

В компании, в которой я работаю, внутри каждого решения есть одна папка packages , которая содержит все зависимости dll.Эта папка не находится в хранилище вместе с остальной частью решения.

Каждый раз, когда я строю один проект, все файлы в папке пакетов восстанавливаются, и все отсутствующие библиотеки появляются снова.Это происходит в начале сборки, независимо от того, удалась ли сборка.Даже если у проекта нет зависимостей dll, все отсутствующие dll в пакетах восстанавливаются.

Я подозреваю, что это параметр в msbuild, но я не могу его найти.Кто-нибудь знает, где это может быть или есть место с файлами msbuild * .targets?

спасибо за любую помощь

Ответы [ 2 ]

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

Это связано с тем, что Visual Studio восстанавливает пакеты, определенные в файлах packages.config.

Это поведение можно контролировать в Visual Studio в параметрах: VS NuGet options

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

Из MS Docs относительно Nuget:

MSBuild: используйте команду msbuild -t: restore, которая восстанавливает пакеты, перечисленные в файле проекта (только PackageReference),Доступно только в NuGet 4.x + и MSBuild 15.1+, которые включены в Visual Studio 2017. Nuget restore и dotnet restore оба используют эту команду для применимых проектов.

Далее, здесь довольно много овключение / отключение и изменение этого поведения различными способами.

Разрешить NuGet загружать отсутствующие пакеты: управляет всеми формами восстановления пакетов, изменяя параметр packageRestore / enabled в файле NuGet.Config, как показанониже (% AppData% \ NuGet \ NuGet.Config для Windows, ~ / .nuget / NuGet / NuGet.Config для Mac / Linux).В Visual Studio этот параметр позволяет команде Restore NuGet Packages в контекстном меню решения работать.

Кажется, что это больше для вашей проблемы:

Автоматическая проверка на отсутствиепакеты во время сборки в Visual Studio: контролирует автоматическое восстановление, изменяя параметр packageRestore / automatic в файле NuGet.Config, как показано ниже (% AppData% \ NuGet \ NuGet.Config для Windows, ~ / .nuget / NuGet / NuGet.Config дляMac / Linux).Когда этот параметр установлен, запуск сборки из Visual Studio автоматически восстанавливает все отсутствующие пакеты.Этот параметр не влияет на сборки, запускаемые из командной строки с использованием MSBuild.

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