Jeżeli chcecie się pobawić ASP.NET vNext to trzeba wiedzieć o jednym. Jeżeli w VS mamy zdefiniowane dodatkowe źródła nuget to domyślnie kpm (K Package Manager) będzie także przeczesywał je w poszukiwaniu paczek.
Czyli za każdym razem jak odpalicie komendę kpm restore
czy kpm install
, nie tylko zostanie przeczesany standardowy nuget, ale także wszystkie dodatkowe źródła jakie macie ustawione w VS. Ogólnie nie jest to złe, no chyba, że macie tak jak ja – jedno źródło dostępne jedynie kiedy jestem podpięty pod VPN. To powoduje, że kpm
nie jest wstanie podłączyć się pod dany nuget server i kończy cały restore/install
błędem.
Aktualnie nie ma możliwości określenia w VS czy dane źródło ma być dostępne dla kpm
, ale są trzy opcje obejścia tego problemu:
- Wywalić wadliwe źródło z VS (wiem, wiem, ale to jest opcja nie? ;))
- Odpalić
kpm restore | install
z parametrem:--ignore-failed-sources
- Stworzyć plik
nuget.config
lokalnie (VS trzyma w%AppData%\Nuget\
, choć jak nie ma VS to i my tam możemy nasznuget.config
wrzucić)
Tak jak opcja z ignorowaniem jest prosta, to tak czy siak dalej będziemy odpytywać te źródła. Więc to będzie trwało. To co możemy zrobić by to pominąć to zdefiniować plik nuget.config
(w katalogu w którym mamy pliki, lub w nadrzędnym – nadrzędny na pewno działa).
Jego konstrukcja nie jest już taka prosta jak project.json
ale da się z tym żyć i można to zapamiętać ;)
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <!-- it use MASTER feed, not VNext https://www.myget.org/F/aspnetvnext/api/v2/ --> <add key="AspNetVNext" value="https://www.myget.org/F/aspnetmaster/api/v2/’" /> <add key="NuGet.org" value="https://nuget.org/api/v2/" /> </packageSources> </configuration>
ASP vNext i dodatkowe źródła nuget w VS
Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl
Comments are closed.