Załóżmy, że mam rozwiązanie z 3 projektami:
- Rdzeń
- UI
- Testy
Niektóre z pakietów NuGet, których używam, będą miały zastosowanie do wszystkich 3 projektów. Niektóre będą dotyczyły tylko interfejsu użytkownika i testów, a niektóre będą dotyczyły tylko testów (np. NUnit).
Jaki jest właściwy sposób skonfigurowania tego za pomocą NuGet?
- Czy powinienem używać opcji „Dodaj odniesienie do pakietu biblioteki” we wszystkich trzech projektach za każdym razem, gdy potrzebuję pliku referencyjnego?
- Czy powinienem użyć opcji „Dodaj odniesienie do pakietu biblioteki”, gdy po raz pierwszy potrzebuję pakietu, a następnie użyć opcji Dodaj odniesienie-> Przeglądaj w celu uzyskania kolejnych zastosowań?
W obu przypadkach ile plików packages.config powinienem mieć?
Install-Package RazorEngine -Version 3.3.0
ale będzie to zastosowane tylko do projektu, który jest wybrany w menu rozwijanym konsoli.Użyj konsoli, aby kierować reklamy na wiele projektów
następnie użyj tego polecenia
na przykład
źródło
Ta słodka okazja działa dla mnie:
źródło
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' }
Jeśli chcesz zainstalować pakiet w wielu rozwiązaniach, napisałem przydatny skrypt Powershell, aby to zrobić, zobacz tutaj .
Możesz nawet filtrować
Get-Project -All
polecenie i kierować reklamy na podzbiór listy projektów.źródło
Należy użyć opcji „Dodaj odniesienie do pakietu biblioteki” dla całej biblioteki zewnętrznej w każdym projekcie w rozwiązaniu. Otrzymasz plik packages.config na projekt.
Jednak pobierzesz pakiet tylko raz i użyjesz go ponownie lokalnie we wszystkich innych projektach.
źródło
W konsoli Menedżera pakietów możesz napisać następujące polecenie :
Możesz użyć tego polecenia do instalacji lub aktualizacji (Update-Package)
źródło