启用包还原后如何指定nuget包的位置?

how to specify location of nuget packages when package restore is enabled?

我正在开发.net解决方案,并将nuget用于我的程序包管理。 我选择了"启用Nuget软件包还原"选项,以便nuget软件包不签入源代码管理。

在此之前,我有一个nuget.config文件,与解决方案处于同一级别,其中包含以下内容,使我能够指定nuget软件包的位置。

1
2
3
4
<settings>
  <repositoryPath>..\\Build\
uGetPackages\\</repositoryPath>
</settings>

由于我启用了nuget软件包还原,因此不再起作用。 我试图更新.nuget生成的文件夹中的配置文件,但这也不起作用。

那么,我哪里出错了,又如何指定packages文件夹的位置?


启用nuget软件包还原时,.nuget文件夹中有一个NuGet.Config文件。

这是显示我的libs文件夹路径的副本。 您可以修改自己的路径以匹配您的路径。 我认为它比已经选择的答案更干净。

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <solution>
   
  </solution>
  <config>
   
  </config>
</configuration>

您还应该在http://docs.nuget.org/docs/release-notes/nuget-2.1上查看nuget 2.1发行说明,其中在nuget.config中添加了新设置以指定程序包文件夹位置

1
2
3
4
5
6
<configuration>
  <config>
   
  </config>
  ...
</configuration>

您可以在your-solution\\.nuget\
uGet.targets
文件中更改下一个属性:

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

或相同的属性,但如果使用的是Mono,则在下面的组中。