我正在开发 .net 解决方案并使用 nuget 进行包管理。我选择了“启用 Nuget 包还原”选项,以便 nuget 包不会签入源代码管理。
在此之前,我有一个 nuget.config 文件,其级别与我包含的解决方案相同,使我能够指定 nuget 包的位置。
<settings>
<repositoryPath>..\Build\NuGetPackages\</repositoryPath>
</settings>
自从我启用了 nuget 包恢复以来,这不再起作用。我尝试更新 .nuget 生成的文件夹中的配置文件,但这也不起作用。
那么我哪里出错了,如何指定包文件夹的位置?
启用 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>
您可以在
your-solution\.nuget\NuGet.targets
文件中更改以下属性:
<PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>
或者相同的属性,但如果您使用 Mono,则位于下面的组中。
您还应该在此处查看 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>