4

我的所有解决方案都有一个共享存储库。我的结构如下:

  • 仓库/
  • 存储库/project1/solution1
  • 存储库/项目2/解决方案2

我希望 nuget 将所有软件包下载到:

  • 存储库/包

我已将 nuget.config 添加到存储库根目录,内容如下:

<configuration>
  <config>
    <add key="repositoryPath" value="packages" />
  </config>
</configuration>

根据我所阅读的内容,这应该足以拥有一个共享包文件夹吗?相反,nuget 似乎完全忽略了 nuget.config 文件,而是将包文件夹放在每个解决方案目录中......

有谁知道如何解决这个问题?

4

2 回答 2

0

这只是一个疯狂的猜测,但您可以尝试以下方法:

你说你有这样的解决方案结构:

> repostiory\
> repostiory\NuGet.Config
> repository\solution1\project1
> repository\solution2\project2

(我切换了解决方案和项目,因为这是 Visual Studio 解决方案的组织方式。)

可能是repositoryPath配置文件中指定的内容与运行 NuGet 命令的位置相关(通过 Visual Studio)吗?我假设哪个会在解决方案文件夹中?如果是这种情况,那么您看到的是正确的(因为包文件夹将在每个解决方案中,就像通常一样)。

如果您改为..\NuGet.Config在配置文件中指定相对路径(例如 )或绝对路径会怎样?

于 2013-04-29T12:40:45.147 回答
0

正如 Nailuj 暗示的那样,这实际上是实现中的一个错误。NuGet 当前不支持该值的相对路径。这是一个无赖。

https://nuget.codeplex.com/workitem/2753

所以,如果你觉得勇敢,你可以卷起袖子修好它:)

于 2013-12-18T06:54:14.897 回答