2014-10-08 3 views
7

Sto cercando di creare un pacchetto nuget per un file .csproj ma voglio che il nome del pacchetto sia diverso dal file csroj (che è per impostazione predefinita) e non voglio specificare un file .nuspec. C'è un modo per farlo? Riesco a vedere solo un'opzione di sovrascrittura del nome della versione nelle opzioni della riga di comando e non un'opzione di sovrascrittura del nome del pacchetto.Quando si utilizza NuGet Pack è possibile specificare il nome del pacchetto senza un file nuspec?

Sto facendo questo in TeamCity ma questo è oltre il punto. Sto pensando che ho bisogno di passare parametri aggiuntivi al comando del pacchetto NuGet?

Grazie,

risposta

2

riga di comando Nuget non fornisce alcuna opzione per il cambio di nome diretta. http://docs.nuget.org/docs/reference/command-line-reference#Pack_Command

Se si desidera differenziare il nome del pacchetto di progetto e nuget, è necessario preparare e modificare il file nuspec personalizzato. Puoi anche farlo manualmente dopo aver creato il pacchetto utilizzando, ad es. NuGetPackage Explorer.

+0

Ho pensato di dover ricorrere all'utilizzo di file nuspec :-( –

0

L'argomento Proprietà di Nuget è quello che stai cercando.

Se il file .nuspec utilizza un segnaposto, è possibile passare un valore tramite l'argomento Proprietà. Da nuget docs:

Proprietà. Specifica un elenco di coppie token = valore, separate da punti e virgola, in cui ogni occorrenza di $ token $ nel file .nuspec verrà sostituita con il valore specificato. I valori possono essere stringhe tra virgolette.

Così nuget.exe -Properties id=someProject userà "someProject" per qualsiasi occorrenza di $id$.