Configuración de una carpeta común de paquetes nuget para todas las soluciones cuando algunos proyectos se incluyen en varias soluciones

He estado usando NuGet para recuperar paquetes de fuentes externas e internas, lo cual es muy conveniente. Pero me he dado cuenta de que los paquetes se almacenan de manera predeterminada por solución, lo cual es muy frustrante cuando algunos proyectos con referencias de NuGet se incluyen en varias soluciones. Luego, las referencias se cambian a otra carpeta de paquete de soluciones que en realidad puede no estar disponible para otro desarrollador o máquina de compilación.

He visto que hay formas de señalar una ubicación de paquete común (tal vez en el nivel raíz del proyecto, estamos usando el control de fuente TFS) con la versión 2.1 de NuGet, consulteNotas de lanzamiento . Estoy usando NuGet v2.7

Pero he intentado agregar archivos nuget.config sin ver ningún efecto de esto. Los paquetes todavía se almacenan en la carpeta de la solución. ¿Hay algo que me haya perdido? Parece que hay diferentes estructuras del nodo xml para agregar al archivo nuget.config, dependiendo de quién esté respondiendo esa pregunta: Schwarzie sugiere enotro hilo de Stackoverflow:

<settings>
  <repositoryPath>..\..\[relative or absolute path]</repositoryPath>
</settings>

Las notas de la versión para NuGet 2.1 (ver enlace anterior) sugieren este formato:

<configuration>
  <config>
    <add key="repositoryPath" value="..\..\[relative or absolute path]" />
  </config>
</configuration>

No sé cuál de estos, o cualquiera, o ambos funcionarán al final. He intentado tanto a nivel de solución. ¿Se puede colocar el archivo nuget.config en el nivel raíz del proyecto TFS, o debe estar en el directorio de la solución? Parece que NuGet lee y aplica la configuración de estos archivos en un cierto orden, por lo que tendría sentido agregarlos en varios niveles, donde un archivo nuget.config en el nivel de solución anularía uno en el nivel raíz del proyecto TFS. ¿Se puede aclarar esto?

¿Debo eliminar todos los paquetes instalados antes de que esas referencias funcionen? Me encantaría que alguien pudiera proporcionar una instrucción paso a paso para pasar del uso de nuget específico de la solución a una carpeta de paquete común donde los proyectos que pertenecen a varias soluciones pueden encontrar los paquetes nuget necesarios.

Respuestas a la pregunta(13)

Su respuesta a la pregunta