为什么Nuget(版本4.2.0)总是创建"包" (VS 2017)项目的父文件夹中的文件夹?我现在创建了一个简单的测试项目(没有解决方案,没有.sln文件),即便如此也是如此。
这是否意味着有一个nuget.config告诉Nuget这样做,我必须为每个项目创建一个nuget.config以获得" Packages"在我的项目文件夹中创建的文件夹,如预期的那样?
我在我的第二台电脑上试过,它的行为与此相同。
我在c:\ Users \ Me \ AppData \ Roaming \ NuGet中找到了一个NuGet.Config,它没有提示。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</packageSources>
<activePackageSource>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</activePackageSource>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
<packageManagement>
<add key="format" value="0" />
<add key="disabled" value="False" />
</packageManagement>
</configuration>
%ProgramFiles(x86)%\ NuGet \ Config \
中没有NuGet.Config答案 0 :(得分:1)
为什么Nuget在项目的父文件夹中创建“Packages”文件夹?
包路径相对于解决方案文件夹默认,我们无法指示nuget为每个项目创建一个包文件夹。让我解释一下这个默认设置的原因。
根据NuGet.Config,我们可以使用repositoryPath
来更改默认安装路径:
<config>
<add key="repositoryPath" value="..\package" />
</config>
它可以是相对路径,此文件基于当前解决方案。但是,通过使用一个相对路径设置或绝对路径设置,单个解决方案中的每个项目都不能具有不同的包路径。因此,默认包路径相对于解决方案文件夹而不是项目。