2013-07-19 7 views
7

Mam projekt, który używa Chutzpah do uruchamiania testów jednostkowych, jednak projekt nie używa Chutzpah w inny sposób, korzysta tylko z interfejsu wiersza poleceń. Po zainstalowaniu pakietu bezczelności Nuget odniesienie dodano .nuget \ packages.config:Przywracanie pakietów NuGet nie działa z .nuget packages.config

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="Chutzpah" version="2.4.3" /> 
</packages> 

mam pakiet przywracania włączona do tego projektu i budowa skutecznie przywraca wszystkie używane pakietami, ale nie bezczelności. Zakładam, że ma to związek z tym, że odwołanie do pakietu znajduje się w pliku .nuget \ packages.config, a nie w pliku packages.config projektu, ale nie wiem, dlaczego tak się stało i jaki jest prawidłowy sposób pracy z tym?

Pakiet Chutzpah NuGet został dodany do projektu przez Visual Studio do konkretnego projektu.

Aby obejść ten problem, przeniosłem odniesienie do pakietu do pliku packages.config projektu, a przywracanie działa poprawnie.

+0

Jestem pewien, że prawdziwa odpowiedź wiąże się ze zmianą plik nuget.targets włączenie .nuget folderu oprócz folderów rozwiązaniem ... ale wziąłem skrót teraz –

+0

przypadku korzystania z nowszej Automatic Restore Package czy ten problem zniknie? –

+0

Mam już ten problem, uważam, że ponowna instalacja pakietu problemów aktualizuje odniesienia do niego. http://docs.nuget.org/docs/workflows/reinstalling-packages – jennas

Odpowiedz

1

Funkcja przywracania pakietów nie będzie automatycznie odtwarzać pakietów na poziomie rozwiązania. Będziesz musiał dodać krok kompilacji, aby NuGet przywrócił pakiety rozwiązań. Na przykład:

.nuget/nuget.exe install .nuget/packages.config -o packages 

Aby uzyskać więcej informacji, patrz this post on solution level packages.