Предположим, у меня есть решение с 3 проектами:
- ядро
- UI
- тесты
Некоторые из пакетов NuGet, которые я использую, будут применяться ко всем 3 проектам. Некоторые из них будут применяться только к пользовательскому интерфейсу и тестам, а некоторые - только к тестам (например, NUnit).
Как правильно настроить это с помощью NuGet?
- Должен ли я использовать «Добавить ссылку на пакет библиотеки» на все три проекта, когда мне понадобится ссылка?
- Должен ли я использовать «Добавить ссылку на пакет библиотеки» в первый раз, когда мне нужен пакет, а затем использовать Добавить ссылку-> Обзор для последующего использования?
В любом случае, сколько packages.config файлы я должен иметь?
Install-Package RazorEngine -Version 3.3.0
но он будет применяться только для проекта, который выбран в раскрывающемся списке консоли.Используйте консоль для таргетинга нескольких проектов
затем используйте эту команду
например
источник
Это сладкое дело работает для меня:
источник
Get-Project -all | ForEach-Object {Get-Package -ProjectName $_.Name -Filter Newtonsoft.Json}
Get-Project -all | ForEach-Object {Get-Package -ProjectName $_.Name -filter PACKAGE_NAME} | where-object { $_.id -eq 'PACKAGE_NAME' }
Если вы хотите установить пакет в нескольких решениях, я написал для этого удобный скрипт Powershell, см. Здесь .
Вы даже можете отфильтровать
Get-Project -All
команду и выбрать целевой набор из списка проектов.источник
Вы должны использовать «Добавить ссылку на пакет библиотеки» для всех ваших внешних библиотек в каждом проекте в вашем решении. В итоге вы получите пакет .config для каждого проекта.
Однако вы загрузите пакет только один раз и будете использовать его локально для всех остальных своих проектов.
источник
В консоли диспетчера пакетов вы можете написать следующую команду :
Вы также можете использовать эту команду для установки или обновления (Update-Package)
источник