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 | installz parametrem:--ignore-failed-sources - Stworzyć plik
nuget.configlokalnie (VS trzyma w%AppData%\Nuget\, choć jak nie ma VS to i my tam możemy nasznuget.configwrzucić)
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.