Sto eseguendo un server Nuget privato localmente su IIS. Sto creando pacchetti e li carico tutti tramite commadline usando nuget.exe (in seguito devo metterlo su build server, da qui la riga di comando). Tuttavia c'è un problema su cui sono bloccato.Nuget Le dipendenze non vengono installate
Sto tentando di dichiarare le dipendenze. Genero il file nuspec nella cartella in cui si trova il file .csproj. Poi ho modificare manualmente il file nuspec per aggiungere questo sotto il tag di metadati:
<metadata>
<dependencies>
<group targetFramework=".NETFramework4.5">
<dependency id="DemoProject" version="2.0.0.0" />
</group>
</dependencies>
</metadata>
DemoProject, la versione 2.0.0.0 è presente sul Nuget Server. Il progetto per cui sto creando il pacchetto, MyProj.csproj non ha il riferimento al DemoProject aggiunto ad esso tramite Visual Studio. È solo al momento del confezionamento che voglio creare la dipendenza. Sembra strano ma è necessario per alcune convalide iniziali.
Poi ho eseguire il comando pacchetto:
"C: \ NuGet \ NuGet.exe" pacco MyProj.csproj -IncludeReferencedProjects prop configurazione = Rilasciare
Poi spingere al server di NuGet tramite riga di comando. Quando eseguo un'installazione tramite la riga di comando, solo il pacchetto MyProj è presente nel percorso di installazione.
Quando utilizzo Nuget Package Explorer e creo un pacchetto, è possibile utilizzare l'Editor delle dipendenze del pacchetto per specificare la dipendenza. Richiede l'URL del mio server Nuget locale e quindi aggiunge la dipendenza. E quando installo quel pacchetto, funziona !!
Sembra che non ci siano differenze nel file nuspec generato in entrambi i casi. Ovviamente il gestore di pacchetti Nuget sta facendo qualcosa che mi sta perdendo.
Eventuali suggerimenti?
Maggiori dettagli: Quando creo una cartella lib nella console Package Manager e attivare manualmente il dll, liberatore> net45-> MyProj.dll, poi quando si installa il pacchetto così creato anche "non" installare la dipendenza . Torna di nuovo alla documentazione di lettura.