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