我有一个共享存储库,可用于我的所有解决方案 . 我的结构如下:
-
repostiory /
-
repository / project1 / solution1
-
repository / project2 / solution2
我希望nuget将所有包下载到:
- repository / packages
我已将nuget.config添加到存储库根目录,其内容如下:
<configuration>
<config>
<add key="repositoryPath" value="packages" />
</config>
</configuration>
根据我所读到的,这应该足以拥有一个共享的包文件夹?相反,nuget似乎完全忽略了nuget.config文件,而是将packages文件夹放在每个解决方案目录中......
有谁知道如何解决这个问题?
2 回答
这只是一个疯狂的猜测,但您可以尝试以下方法:
你说你有这样的解决方案结构:
(我切换了解决方案和项目,因为这是Visual Studio解决方案的组织方式 . )
可能是配置文件中指定的
repositoryPath
是相对于运行NuGet命令的位置(通过Visual Studio)?我假设将在解决方案文件夹中?如果是这种情况,那么你看到的是正确的(因为packages文件夹将在每个解决方案中,正如通常那样) .如果您改为指定相对路径(例如
..\NuGet.Config
)或配置文件中的绝对路径,该怎么办?正如Nailuj暗示的那样,它实际上是一个错误 . NuGet目前不支持该值的相对路径 . 哪个是无聊的 .
https://nuget.codeplex.com/workitem/2753
所以,如果你感到勇敢,你可以卷起袖子并修复它:)