2015-01-17 13 views
7

C'è un modo per ottenere nuget per raccogliere il file readme.txt incluso in un .csproj utilizzando "nuget pack" in modo che quando il pacchetto è installato il readme il file .txt si apre automaticamente in VS?nuget pack su csproj per readme.txt non si comporta come previsto

Quando creo il nuspec a mano ed elenchiamo il file readme.txt nella sezione in modo tale che il file readme.txt risieda allo stesso livello del file nuspec, eseguire nuget pack sul nuspec fa la cosa giusta.

Quando si utilizza il pacchetto nuget su .csproj, il comportamento è tale che il file readme del progetto viene incluso nella cartella "Contenuto" . In questo caso, c'è un modo per ottenere nuget pack per includere il file readme nella sezione in modo che si comporti identico alla creazione manuale del nuspec e aggiungendo il file readme.txt nella radice della cartella

risposta

3

Sì, tu bisogno di fare alcune cose Supponiamo che il tuo progetto si chiami MyProject.

  1. Assicurarsi che l'azione di compilazione (in Proprietà) per readme.txt sia "Nessuno", non "Contenuto". Ciò impedisce che venga inserito in una cartella \content quando si configura il csproj.
  2. Se non si dispone già di un file MyProject.nuspec, crearne uno nella stessa cartella di MyProject.csproj. Questo dovrebbe usare i token sostitutivi definiti in Creating And Publishing A Package ($ id $, $ version $, ecc.) Per evitare la duplicazione di qualsiasi cosa specificata nel progetto stesso (ad es. In AssemblyInfo.cs).
  3. aggiungere una sezione <files> nel file nuspec, contenente soloreadme.txt, in questo modo:
 
    <files> 
    <file src="readme.txt" target="" /> 
    </files> 

Dopo aver fatto questo, quando si esegue nuget pack MyProject.csproj, si metterà readme.txt alla radice pacchetto e creerà la cartella appropriata \lib per le tue DLL. L'installazione del pacchetto aprirà automaticamente il file readme.txt senza aggiungerlo al progetto di destinazione come contenuto.

Ho provato questo con NuGet 2.8.60717.93.

Problemi correlati