2015-10-02 15 views
6

Stavo lavorando a una soluzione con più progetti e ho aggiornato Newtonsoft.Json in uno dei progetti (una libreria di classi). Ciò ha causato alcuni errori in un altro progetto (un progetto ASP.Net WebApi) perché era necessario aggiornare anche il riferimento a Newtonsoft.Json.Come garantire che tutti i progetti in una soluzione C# utilizzino le stesse versioni della libreria di terze parti?

L'errore è stato generato in fase di esecuzione non in fase di compilazione e ho dovuto installare manualmente Newtonsoft.Json su ciascuno dei progetti all'interno della soluzione.

Install-Package Newtonsoft.Json 

Questo mi porta a chiedermi se è possibile aggiornare tutte le librerie di terze parti a livello di soluzione?

So che è possibile creare una cartella per archiviare le librerie e aggiungerla al controllo sorgente ma vorrei evitarlo.

Desidero che Nuget scarichi le librerie dopo aver recuperato la soluzione dal repository. Mi chiedevo se è possibile:

  1. Creare un nuovo progetto nella soluzione chiamata qualcosa come www.solution.com.thirdparty
  2. Aggiungi riferimento a tutti i software di terze parti utilizzando NuGet
  3. Esporre le tutte le librerie di terze parti tramite www.solution.com.thirdparty

Non so come posso fare il terzo passo e vorrei anche sapere se c'è un modo migliore per farlo?

risposta

8

Utilizzare i pacchetti a livello di soluzione, come descritto in this post.

In alternativa è possibile dare un'occhiata a Paket, ha un buon algoritmo di risoluzione delle dipendenze transitive che può funzionare per voi.

Problemi correlati