Для VS2015 и VS2017
Работает с TFS (локально) или VSO (Visual Studio Online - предложение, размещенное на Azure)
В документации NuGet содержатся инструкции о том, как выполнить это , и я только что успешно следовал им в Visual Studio 2015 и Visual Studio 2017 против VSTS (TFS, размещенной в Azure). Все полностью обновлено по состоянию на ноябрь 2016 август 2018.
Я рекомендую вам следовать инструкциям NuGet, но просто напомнить, что я сделал:
- Убедитесь, что ваша папка
packages
не зафиксирована в TFS. Если это так, вытащите его оттуда.
- Все остальное, что мы создаем ниже, попадает в ту же папку, в которой находится ваш файл
.sln
, если не указано иное (инструкции NuGet не совсем ясны по этому поводу).
- Создать папку
.nuget
. Вы можете использовать Windows Explorer, чтобы назвать его .nuget.
, чтобы он успешно сохранялся как .nuget
(он автоматически удаляет последний период), но прямая попытка назвать его .nuget
может не сработать (вы можете получить ошибку или изменить имя, в зависимости от вашей версии Windows).
- Внутри этой папки создайте файл
NuGet.config
, добавьте следующее содержимое и сохраните его:
NuGet.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
- Вернитесь в папку
.sln
и создайте новый текстовый файл и назовите его .tfignore
(если вы используете Windows Explorer, используйте тот же прием, что и выше, и назовите его .tfignore.
)
- Поместите в этот файл следующее содержимое:
.tfignore:
# Ignore the NuGet packages folder in the root of the repository.
# If needed, prefix 'packages' with additional folder names if it's
# not in the same folder as .tfignore.
packages
# include package target files which may be required for msbuild,
# again prefixing the folder name as needed.
!packages/*.targets
- Сохраните все это, зафиксируйте его в TFS, затем закройте и снова откройте Visual Studio, и Team Explorer больше не должен определять папку пакетов как ожидающую регистрацию.
- Скопируйте / вставьте через Windows Explorer файл
.tfignore
и папку .nuget
во все мои различные решения и зафиксируйте их, и у меня больше нет папки packages
, пытающейся проникнуть в мое хранилище с контролем исходного кода!
Дальнейшая настройка
Хотя это не моё, я нашел этот .tfignore
шаблон от sirkirby , который будет полезен. Пример в моем ответе охватывает папку Nuget packages
, но этот шаблон включает в себя некоторые другие вещи, а также предоставляет дополнительные примеры, которые могут быть полезны, если вы хотите настроить это дальше.