Настройка общей папки пакетов nuget для всех решений, когда некоторые проекты включены в несколько решений

Я использую NuGet для извлечения пакетов из внешних и внутренних источников пакетов, что очень удобно. Но я понял, что пакеты по умолчанию хранятся для каждого решения, что очень расстраивает, когда некоторые проекты со ссылками NuGet включены в несколько решений. Затем ссылки изменяются на другую папку пакета решений, которая на самом деле может быть недоступна другому разработчику или сборочной машине.

Я видел, что есть способы указать общее местоположение пакета (возможно, на корневом уровне проекта, мы используем контроль исходного кода TFS) с выпуском 2.1 NuGet, см.заметки о выпуске , Я использую NuGet v2.7

Но я пытался добавить файлы nuget.config, не видя никакого эффекта от этого. Пакеты все еще хранятся в папке решения. Я что-то пропустил? Кажется, существуют разные структуры узла xml для добавления в файл nuget.config, в зависимости от того, кто отвечает на этот вопрос: Шварци предлагаетдругой поток Stackoverflow:

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

В примечаниях к выпуску NuGet 2.1 (см. Ссылку выше) предлагается следующий формат:

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

Я не знаю, какой из них, или любой, или оба будут работать в конце. Я пробовал оба на уровне решения. Можно ли разместить файл nuget.config на корневом уровне проекта TFS или он должен находиться в каталоге решений? Кажется, что NuGet считывает и применяет настройки из этих файлов в определенном порядке, поэтому имеет смысл добавлять их на нескольких уровнях, где файл nuget.config на уровне решения переопределяет один на корневом уровне проекта TFS. Можно ли это прояснить?

Нужно ли удалять все установленные пакеты, прежде чем эти ссылки будут работать? Я был бы рад, если бы кто-нибудь мог предоставить пошаговую инструкцию по переходу от использования нативов для конкретного решения к общей папке пакетов, где проекты, принадлежащие нескольким решениям, могут найти нужные им пакеты нюгетеров.

Ответы на вопрос(2)

Ваш ответ на вопрос