Nuget .net核心项目还原的包目标始终是全局包目录

Nuget .net核心项目还原的包目标始终是全局包目录,nuget,.net-core,nuget-package-restore,Nuget,.net Core,Nuget Package Restore,我们有一个解决方案,其中有些项目是.net核心项目,有些是“正常的”.net 4.6.1项目。 在解决方案级别,我们有一个NuGet.config文件,用于设置repositoryPath: <configuration> <config> <add key="repositoryPath" value="packages" /> </config> </configuration> projects packag

我们有一个解决方案,其中有些项目是.net核心项目,有些是“正常的”.net 4.6.1项目。 在解决方案级别,我们有一个NuGet.config文件,用于设置repositoryPath:

<configuration>
  <config>
    <add key="repositoryPath" value="packages" />
  </config>
</configuration>

projects packages.config-Files中列出的包将下载到Nuget.config->repositoryPath中指定的路径中,但是.net核心项目文件中指定的包(通过PackageReference)都将下载到C:\Users\USERNAME\.Nuget\packages中的全局包目录中

无论我是使用Visual Studio 2017还是通过nuget.exe手动执行,这都无关紧要。 net核心项目只是忽略了NuGet.config


我们做错了什么?

好的。知道了。将以下标记添加到.csproj文件可以实现以下目的:

<PropertyGroup>
  ...
  <RestorePackagesPath>packages</RestorePackagesPath>
</PropertyGroup>

...
包装

来源:

respositoryPath
用于packages.config项目

globalPackagesFolder
用于PackageReference项目


由于packages.config和packagesreference使用不同的文件夹格式,因此这些项目类型不能对包使用相同的文件夹,这就是为什么有两种不同的配置设置。

您没有做错任何事情。这是新项目系统处理nuget PackageSee@D.J的方式。这有点不直观。我想决定把包裹放在哪里。