我在我的项目根文件夹中放置了一个nuget.config文件,该文件指定所有 NuGet 包应放在我的所有解决方案的位置。
这是文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="D:\Projects\Development\NuGet Packages" />
</config>
</configuration>
我还在我的所有解决方案上启用了NuGet 包还原。
当我第一次设置它时,nuget.config 文件被忽略了——所有 NuGet 包都被放置在解决方案文件夹中的“包”文件夹中。我多次尝试删除此文件夹,但 NuGet 总是会重新创建它并用包填充它。
经过多次试验和错误,我偶然发现了<PackagesDir>
“NuGet.targets”中的元素,并注意到将其注释掉最终允许将包放置在我的项目根目录中的正确文件夹中。
这是 NuGet.targets 的相关行
<PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>
我的问题只是注释掉 NuGet.targets 文件中的PackagesDir
元素是否是让我的 nuget.config 文件被遵循的预期方法,或者我是否缺少更明显的解决方案。