Nuget如何指定包位置?
Posted
技术标签:
【中文标题】Nuget如何指定包位置?【英文标题】:Nuget how can i specify packages location? 【发布时间】:2012-04-09 09:17:46 【问题描述】:我有简单的文件夹结构:
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
我需要从 packages.config 文件中恢复包(非常简单)
我在 nuget 1.6 中使用了可以在构建时恢复包的新功能,但我有两个问题:
软件包始终“安装”在根文件夹中。我试图用很多变体多次更改 NuGet.targets 文件,但它总是安装在根目录中:(
它显示已安装包 (http://tinyurl.com/7f2ow6k) 但参考中没有更新
顺便说一句:
我正在使用 nuget 1.6
我已经读过http://goo.gl/zZabG 和http://goo.gl/mJL7N 但什么也没读
【问题讨论】:
Is it possible to change the location of packages for NuGet?的可能重复 【参考方案1】:当使用与默认位置不同的文件夹安装包时,这是 NuGet 的一个已知问题:
http://nuget.codeplex.com/workitem/1990
目前已指定在 NuGet 1.9 中修复。
【讨论】:
【参考方案2】:我以这种方式更新了我的 Nuget.targets 文件,下一次构建将我的包安装在“libs”目录中
<PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "libs"))</PackagesDir>
但是,引用没有更新。
第一次安装时会修复参考。然后你必须重新安装你的包(卸载然后重新安装),它将使用 nuget.config 文件。
然后,对于进一步的构建,将使用 NuGet.targets。
不是很直观,但对我有用,希望对你有帮助。
【讨论】:
以上是关于Nuget如何指定包位置?的主要内容,如果未能解决你的问题,请参考以下文章