2012-03-25 10 views
7

enter image description hereNuget Wie kann ich den Speicherort des Pakets angeben?

Ich habe einfache Ordnerstruktur:

project1 
|_ nuget.config http://tinyurl.com/84ynb9z 
|_ packages.config http://tinyurl.com/72zpy3z 
project2 
|_ nuget.config http://tinyurl.com/84ynb9z 
|_ packages.config http://tinyurl.com/72zpy3z 
packages 
|_ FluentNHibernate.1.2.0.712 
|_ FluentValidation.3.2.0.0 

ich brauche Pakete aus packages.config Datei (sehr trivial)

im mit neuer Funktion in nuget 1.6 wiederherstellen, die Pakete wiederherstellen, wenn Gebäude, aber ich habe 2 Probleme damit:

  1. Pakete immer "installiert" in Root fol die. Ich habe versucht, NuGet.targets zu ändern, um eine Menge Zeit mit vielen Variationen Datei aber immer in Root installiert :(

  2. es zeigt, dass Pakete installiert (http://tinyurl.com/7f2ow6k), aber nichts in Referenzen aktualisiert

btw:

im mit nuget 1.6

i gelesen http://goo.gl/zZabG und http://goo.gl/mJL7N schon, aber nichts

+0

möglich Duplikat von [Ist es möglich, den Speicherort von Paketen für NuGet zu ändern?] (Http://stackoverflow.com/questions/4092759/is-it-possible-to-change-the-location-of-packages) -für-nuget) –

Antwort

0

ich meine Nuget.targets aktualisieren auf diese Weise Datei und die nächste Build installiert meine Pakete im „Libs“ Verzeichnis

<PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "libs"))</PackagesDir> 

aber, Referenzen werden nicht aktualisiert.

Referenzen werden durch die erste Installation behoben. Dann müssen Sie Ihre Pakete erneut installieren (deinstallieren und dann neu installieren), es wird die Datei nuget.config verwendet.

Dann werden für weitere Builds die NuGet.targets verwendet.

Nicht sehr intuitiv, aber es funktioniert für mich, hoffe, es hilft.

0

Dies ist ein bekanntes Problem mit NuGet, wenn Sie einen anderen Ordner mit Paketen als Standardverzeichnis zu installieren:

http://nuget.codeplex.com/workitem/1990

Es ist derzeit in NuGet 1,9 festgelegt werden ist zugewiesen.