2011-06-14 20 views
48

naszych projektów w TFS zorganizowane w taki sposób:najlepsze praktyki Nuget i TFS

$\DefaultCollection\ProjectName\Source <-- source code goes here 

$\DefaultCollection\ProjectName\SharedAssemblies <-- 3rd party binaries go here 

Teraz Nuget to na scenie, czy jest jakiś powód, aby zmienić nasze podejście i używać folderu Nuget za pakiety dla bibliotek DLL, które pochodzą z Projekty świadome NuGet? Ja opierając tego powodu

1) tworzy dwa miejsca trzeba szukać zależnościami 2) pozostawia otwartą nas do jednego dewelopera aktualizacją pakietu i łamiąc pewne uzależnienie

powiedział, że jeśli ktoś może zgłosić to dobry powód, aby zacząć używać NuGet w środowisku TFS, z przyjemnością przedstawię twoje pomysły mojemu zespołowi tak, jakby były moje własne (żart).

+4

Nie trzeba przechowywać paczki od Nuget w kontroli wersji, zamiast przy użyciu 'NuGet.exe' zapełnić lokalną kopię FROM' packages.config' plików w ramach projektów: http: // blog.davidebbo.com/2011/03/using-nuget-without-committing-packages.html – Richard

+0

Jak to działa w przypadku rozwiązań, które mają wiele projektów? Nasz główny ma dwie aplikacje internetowe, dwie aplikacje konsolowe i usługę. Zaletą podejścia opartego na bibliotece dll jest to, że wszystkie z nich działają albo kończą się niepowodzeniem. –

+0

Zobacz link: uruchom 'nuget-exe' dla każdego' packages.config' z tym samym folderem repozytorium, zostaną pobrane tylko brakujące pakiety (może to być również etap wstępnej kompilacji na projekt). – Richard

Odpowiedz

30

Nuget 1.6 umożliwia obecnie dynamiczne pobieranie pakietów podczas kompilacji. Więc możesz teraz sprawdzić kontrolę kodu źródłowego bez plików .dll, ale sama kompilacja pobierze poprawny pakiet.

http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

+3

Jak powiedzieć [przywracanie pakietu Nuget] (http://docs.nuget.org/docs/release-notes/nuget-2.1), aby wskazać folder w TFS nie jest fizyczną ścieżką? Obszar roboczy każdego może być inny, więc ta MIGA nie może być dokładna dla każdego: '' – felickz

+3

Wiem, że to jest stare, ale na wszelki wypadek, zastanawiające: po prostu nie umieszczaj ścieżki pliku. Umieść względną ścieżkę. na przykład SeanLAllen