Для 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 и откройте родительский каталог в командной строке. тип. ren nuget .nuget
- Внутри этой папки создайте
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, чтобы быть полезным. Пример в моем ответе охватывает packages
папку Nuget, но этот шаблон включает в себя некоторые другие вещи, а также предоставляет дополнительные примеры, которые могут быть полезны, если вы хотите настроить это дальше.