8

Desidero creare e distribuire un pacchetto NuGet che, una volta installato, installa solo a livello della soluzione nella cartella radice packages, facendo riferimento al pacchetto nel file .NuGet\packages.config.Come creare un pacchetto NuGet a livello di soluzione pura

Ho trovato alcune informazioni sul formato dei pacchetti NuGet per quanto riguarda questo argomento già e secondo NuGet FAQ questo dovrebbe essere possibile se si seguono queste linee guida:

Qual è la differenza tra un progetto- pacchetto di livello e un pacchetto a livello di soluzione?

Un pacchetto a livello di soluzione deve essere installato una sola volta in una soluzione disponibile per tutti i progetti nella soluzione. Un pacchetto a livello di progetto deve essere installato separatamente in ogni progetto in cui si desidera utilizzare . Per i pacchetti a livello di soluzione, NuGet non modifica nulla nel progetto , mentre in un pacchetto a livello di progetto lo fa. In genere, un pacchetto a livello di soluzione installa nuovi comandi che è possibile chiamare da all'interno della finestra della console di Gestione pacchetti.

Un altro Suggested SO solution afferma che quanto sopra avrebbe dovuto funzionare anche.

Il fatto è che non riesco a farlo funzionare. Ho verificato che il mio pacchetto non ha lib o il contenuto delle directory:

NuGet package contents

ho messo tutti i file da distribuire nel tools -cartella nel pacchetto, tra cui lo script init.ps1` superiore funzionare su installazione .

Sto usando Visual Studio 2015 e quando voglio installare il pacchetto:

  1. prima di tutto devo selezionare un progetto per l'installazione. Mi ero aspettato di non doverlo specificare, poiché dovrebbe essere esteso a tutta la soluzione. :/
  2. Lo script init.ps1 viene eseguito ed esegue i comandi come voglio che facciano. :)
  3. Tuttavia, nel progetto è stata creata una cartella packages che sono stato costretto a scegliere per completare l'installazione. Mi sarei aspettato che la cartella packages venisse creata nella soluzione root. :(
  4. Inoltre, il file packages.config viene creato nella cartella del progetto e non in .NuGet\packages.config, come mi aspetterei dopo aver letto i documenti che ho trovato su questo. :(

Qualche suggerimento su come farlo funzionare? Si tratta di una limitazione VS 2015 o di una modifica NuGet 3 (come credo sia stata inclusa in VS2015)?

risposta