5

我正在研究 .net 解决方案并使用 nuget 进行包管理。我选择了“启用 Nuget 包还原”选项,这样 nuget 包就不会签入源代码管理。

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

<settings> 
  <repositoryPath>..\Build\NuGetPackages\</repositoryPath> 
</settings> 

由于我启用了 nuget 包恢复,这不再有效。我试图更新 .nuget 生成的文件夹中的配置文件,但这也不起作用。

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

4

3 回答 3

5

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

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

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
  <config>
    <add key="repositoryPath" value="../../libs/packages" />
  </config>
</configuration>
于 2012-12-09T02:59:36.457 回答
2

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

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

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

于 2012-10-05T05:56:19.780 回答
2

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

<configuration>
  <config>
    <add key=" repositoryPath" value=" C:\myteam\teampackages" />
  </config>
  ... 
</configuration>
于 2012-12-11T06:59:42.833 回答