TLDR: tak
NuGet używa hierarchicznej aplikacji źródeł pakietów, zaczynając od NuGet.config na poziomie profilu użytkownika systemu Windows, a następnie stosując coraz bardziej szczegółową konfigurację, zaczynając od katalogu głównego ścieżki pliku zawierającej rozwiązanie, a na końcu kończąc na katalogu zawierającym plik rozwiązania.
Oto, co udało mi się rozgryźć - dzięki uprzejmości pomocnego Twitterera wskazującego mi ten dokument:
https://docs.nuget.org/consume/nuget-config-file
Podczas edytowania źródeł pakietów NuGet w opcji programu Visual Studio Tools > NuGet Package Manager > Package Manager Settings: Package Sources
te zmiany są domyślnie stosowane do pliku NuGet.config znajdującego się w %APPDATA%\NuGet
katalogu. Aby zastąpić te ustawienia dla poszczególnych rozwiązań (lub grup rozwiązań), należy dodać strategicznie umieszczony plik NuGet.config w dowolnym miejscu na ścieżce rozwiązania lub rozwiązań.
Wszystko stanie się jasne, jeśli przeczytasz dokument NuGet, rozwiązanie, które podaję poniżej, pozwoli szybko określić konfigurację dla pojedynczego rozwiązania Visual Studio:
- Przejdź do% APPDATA% \ NuGet i pobierz kopię NuGet.config
- Zrzuć kopię w katalogu głównym swojego rozwiązania - tj. Tam, gdzie znajduje się Application.sln.
- Zastąp ustawienia domyślne zastosowane do profilu użytkownika, edytując kopię tak, aby zawierała tylko źródła pakietów NuGet, które są odpowiednie dla tego rozwiązania - na przykład prywatne źródło NuGet, które zawiera zastrzeżone pakiety dla tego rozwiązania, ale nie powinno być stosowane do innych projektów - na przykład:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<packageSources>
<clear />
<add key="My Private NuGet Server" value="http://myprivatenuget.com:8080/nuget" />
</packageSources>
<disabledPackageSources>
<add key="Microsoft and .NET" value="true" />
</disabledPackageSources>
</configuration>
Jeśli chcesz konfiguracja zastosować do wielu rozwiązań, zapewniają rozwiązanie foldery są wszystkie zawarte w ramach wspólnego katalogu i umieścić NuGet.config dla źródeł pakietów odpowiednich dla tych rozwiązań w tym wspólnym katalogu, zapewniając, że wszelkie foldery rozwiązanie dla projektów, które aren „t do korzystania z tych źródeł pakietów nie są zawarte w niniejszym wspólnym folderze.