Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Di seguito sono illustrati gli esempi della riga di comando che usano Unix. Il dotnet pack comando come illustrato di seguito funziona allo stesso modo in Windows.
Le librerie .NET Standard e .NET Core devono essere distribuite come pacchetti NuGet. Questo è infatti il modo in cui tutte le librerie .NET Standard vengono distribuite e utilizzate. Questa operazione viene eseguita più facilmente con il dotnet pack comando .
Si supponga di aver appena scritto una nuova libreria impressionante che si vuole distribuire su NuGet. È possibile creare un pacchetto NuGet con strumenti multipiattaforma per farlo esattamente. Nell'esempio seguente si presuppone una libreria denominata SuperAwesomeLibrary che ha come destinazione netstandard1.0.
Se si hanno dipendenze transitive, ovvero un progetto che dipende da un altro pacchetto, assicurarsi di ripristinare i pacchetti per l'intera soluzione con il dotnet restore comando prima di creare un pacchetto NuGet. Se non si esegue questa operazione, il dotnet pack comando non funziona correttamente.
Non è necessario eseguire dotnet restore perché viene eseguito in modo implicito da tutti i comandi che richiedono un ripristino, ad esempio dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish e dotnet pack. Per disabilitare il ripristino implicito, usare l'opzione --no-restore.
Il comando dotnet restore è ancora utile in alcuni scenari in cui ha senso eseguire un ripristino esplicito, ad esempio le compilazioni di integrazione continua in Azure DevOps Services o in sistemi di compilazione che richiedono il controllo esplicito quando viene eseguito il ripristino.
Per informazioni su come gestire i feed NuGet, vedere la dotnet restore documentazione.
Dopo aver verificato il ripristino dei pacchetti, è possibile passare alla directory in cui si trova una libreria:
cd src/SuperAwesomeLibrary
Quindi è solo un singolo comando dalla riga di comando:
dotnet pack
La cartella /bin/Debug avrà ora un aspetto simile al seguente:
$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
In questo modo viene generato un pacchetto in grado di eseguire il debug. Se si vuole compilare un pacchetto NuGet con file binari di versione, è sufficiente aggiungere l'opzione --configuration (o -c) e usare release come argomento.
dotnet pack --configuration release
La cartella /bin avrà ora una cartella di versione contenente il pacchetto NuGet con file binari di versione:
$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
Sono ora disponibili i file necessari per pubblicare un pacchetto NuGet.
Non confondere dotnet pack con dotnet publish
È importante notare che a nessun punto è coinvolto il dotnet publish comando. Il dotnet publish comando consiste nella distribuzione di applicazioni con tutte le relative dipendenze nello stesso bundle, non per la generazione di un pacchetto NuGet da distribuire e utilizzare tramite NuGet.