Tenemos una solución en la que algunos proyectos son proyectos .net-core y otros son proyectos .net 4.6.1 "normales". En el nivel de la solución tenemos un NuGet.config-File que establece el repositoryPath:

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

Los paquetes enumerados en los archivos de proyectos packages.config se descargan en la ruta especificada en Nuget.config -> repositoryPath, pero los paquetes especificados en los archivos de proyecto .net-core (a través de PackageReference) se descargan en el directorio de paquetes global en C: \ Users \ USERNAME \ .nuget \ packages.

No importa si uso Visual Studio 2017 o lo hago manualmente a través de nuget.exe. Los proyectos .net-core simplemente ignoran NuGet.config.

¿Qué estamos haciendo mal aquí?

2
sebingel 15 nov. 2017 a las 18:25

2 respuestas

La mejor respuesta

Bueno. Entendido. Agregar la siguiente etiqueta al archivo .csproj funciona:

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

Fuente: https://github.com/NuGet / Inicio / wiki /% 5BSpec% 5D-NuGet-settings-in-MSBuild

3
sebingel 17 nov. 2017 a las 21:04

respositoryPath se usa para proyectos packages.config

globalPackagesFolder se usa para proyectos PackageReference

Dado que packages.config y PackageReference usan diferentes formatos de carpeta, estos tipos de proyectos no pueden usar la misma carpeta para los paquetes, por lo que hay dos configuraciones diferentes.

2
Justin Emgarten 21 nov. 2017 a las 07:22