Domanda

non sono stato in grado di trovare una risposta a questa domanda. Ho usato Nu in precedenza e aveva la capacità di identificare dove le "chicche" dovevano essere installati. Per esempio, mi piace mantenere la mia struttura progetto come questo:

MyProject
    |-MyProject.build
    |-MyProject.sln
    |-doc
    |-lib
    |  |- ... my packages/gems ...
    |-sql
    |-src
    |  |-app
    |  |-test
    |-tools

Come si può vedere mi piace mantenere una cartella "lib" per le librerie di terze parti in uso nella mia soluzione. Utilizzando Nu, mentre nella directory principale del mio progetto, ho potuto usare semplicemente il comando:

nu install log4net --location=lib

In questo modo sarebbe afferrare il pacchetto richiesto e posizionarlo nella mia cartella "lib" per fare riferimento in seguito.

Quindi, è questo possibile utilizzando il "Package Manager Console" a VS.NET? Avrei dovuto usare un altro metodo? Grazie per il vostro aiuto!

È stato utile?

Soluzione

Sebastien Lambla ha scritto un recente post sul blog riguardante OpenWrap, ma anche parlando di NuGet. In esso, egli opina che persone che chiedono di mettere i pacchetti in altre località sono davvero chiedendo le domande sbagliate:

  

Quando la domanda “è possibile modificare dove i pacchetti vanno”, di solito il sottostante, vera domanda, è uno dei due: “Li voglio in / lib con il resto dei miei biblioteche tradizionali”, o “Nel mio ambiente ho aziendale non vogliono il check-in tutte le dipendenze perché non mi importa di distribuzione xcopy”.

E passa poi a spiegare come le librerie "di proprietà" dal proprio gestore di pacchetti in realtà non sono lo stesso tipo di bestie come altre librerie che è a carico.

Altri suggerimenti

Sebastiens post è tutto bello, ma ho appena veramente a cuore, dove i pacchetti vanno.  Nuget (o qualsiasi gestore di pacchetti) non dovrebbero presumere che conosce meglio.

E non dovrebbe assumere soluzione == albero completo fonte . Per chiarire:. Il mio albero di origine contiene 80 + soluzioni tutto in luoghi diversi, un pacchetto di pronti contro termine rispetto alla soluzione cartella di risultati in oltre 80 cloni di tutti i pacchetti, questo è lento e dispendioso

per ora (NuGet 1.3) un trucco non documentato è quello di mettere un file nuget.config vicino alla soluzione con un percorso relativo alla repo in esso in questo modo

<settings>
    <repositoryPath>..\..\lib</repositoryPath>
</settings>

questo può o non può funzionare per voi in quanto è un hack.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top