Как сохранить VS2015 NuGet для добавления пакетов в TFS
VS2013 имел ошибку, где NuGet добавлял пакеты как ожидающие изменения, даже если вы сказали это не с помощью .tfignore
. Был обходной путь, но он не работает с VS2015/NuGet3, а NuGet возвращается к своим старым трюкам. Есть ли способ "Nu"?: -)
Пункт подключения Microsoft: NuGet добавляет пакеты в TFS, несмотря на .tfignore
Ответы
Ответ 1
Похоже, это исправлено в версии 3.2 RC расширения NuGet Visual Studio 2015 - обновление для этой версии работало для меня, на мере.
Обсуждение этой проблемы можно найти здесь, где рекомендуется обновлять с NuGet 3.1 до 3.2 RC.
Обновление
Версия 3.2 расширения теперь выпущена (найдена здесь), которая включает это исправление.
Разъяснение
Чтобы получить эту работу, вам понадобятся две вещи:
- Файл
nuget.config
, содержащий настройку disableSourceControlIntegration
- Версия расширения NuGet Visual Studio 2015, которая соответствует настройке
disableSourceControlIntegration
(версии от 3.2, должны работать)
Как указано в docs:
NuGet сначала загружает NuGet.config из местоположения по умолчанию, затем загружает любой файл с именем NuGet.config, начиная с корня текущего диска и заканчивая в текущем каталоге.
Это означает, что вы можете указать <solution><add key="disableSourceControlIntegration" value="true" /></solution>
в файле конфигурации по умолчанию для своего профиля пользователя (найденного в %APPDATA%\NuGet\NuGet.Config
) или в файл конфигурации NuGet в каталоге решений, например \MySolution\.NuGet\NuGet.config
.
Ответ 2
В вашем %AppData%\NuGet\NuGet.Config
файле добавьте следующее перед тегом </configuration>
XML...
<config>
<add key="repositoryPath" value="C:\NuGetPackages" />
</config>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
... вы можете указать любой путь, который вы хотите - важная вещь заключается в том, чтобы помещать его в рабочее пространство TFS!
Теперь вам больше не придется беспокоиться об этом. Папка вашего решения больше не будет содержать пакетов; все решения будут по умолчанию использовать ваше собственное расположение пакетов.
ПРИМЕЧАНИЕ. - Это работает для каждого пользователя.
До сих пор я делал то же самое с помощью метода one-config-per-solution (\.nuget\NuGet.Config
). Спасибо @dsghi за понимание!
Убедитесь, что папка вашего решения не содержит папку .nuget
(старый способ делать вещи). Даже если папка НЕ включена в решение и только в файловой системе, она переопределит все!
Ответ 3
У меня та же проблема, и я еще не нашел реального решения.
Единственное обходное решение, которое я нашел до сих пор:
- Щелкните правой кнопкой мыши папку пакетов в "Team Explorer - ожидающие изменения"
и выберите "отменить".