2015-10-02 9 views
6

Pracowałem nad rozwiązaniem z wieloma projektami i zaktualizowałem Newtonsoft.Json w jednym z projektów (biblioteki klas). Spowodowało to pewne błędy w innym projekcie (projekt ASPANet WebApi), ponieważ wymagało to również aktualizacji do Newtonsoft.Json.Jak zapewnić, że wszystkie projekty w rozwiązaniu C# korzystają z tych samych wersji biblioteki stron trzecich?

Błąd został zgłoszony w czasie wykonywania nie podczas kompilacji i musiałem ręcznie zainstalować Newtonsoft.Json na każdym z projektów w ramach rozwiązania.

Install-Package Newtonsoft.Json 

To skłoniło mnie do zastanowienia się, czy możliwe jest uaktualnienie wszystkich bibliotek zewnętrznych na poziomie rozwiązania?

Wiem, że możesz utworzyć folder do przechowywania bibliotek i dodać go do kontrolki źródła, ale chciałbym tego uniknąć.

Chcę, aby Nuget pobierał biblioteki po pobraniu rozwiązania z repozytorium. Zastanawiałem się, czy możliwe jest, aby:

  1. Tworzenie nowego projektu w roztworze nazwie coś www.solution.com.thirdparty
  2. Dodaj odniesienie do całego oprogramowania osób trzecich za pomocą Nuget
  3. Expose wszystkich bibliotek innych firm poprzez www.solution.com.thirdparty

Nie wiem, jak mogę zrobić trzeci krok i wiedziałbym też, czy jest lepszy sposób na zrobienie tego?

Odpowiedz

8

Używaj pakietów na poziomie rozwiązania, zgodnie z opisem in this post.

Można również rzucić okiem na Paket, ma ładny tranzytowy algorytm rozwiązywania zależności, który może pracować dla ciebie.