Пакеты NuGet по-прежнему появляются в ссылках после изменения ветки git - PullRequest
1 голос
/ 20 сентября 2019

Сегодня я обнаружил, что библиотека, на которую я ссылаюсь в моей программе, доступна в виде пакета NuGet (ранее он устанавливался отдельно).Поэтому я создал новую ветку git, где я мог установить пакет NuGet и поиграть с ним перед тем, как вернуться к моей ветке dev.

Итак, я установил пакет NuGet, и он появился в раскрывающемся списке «Ссылки».моего проекта.Отлично.Но теперь, когда я переключаюсь обратно в свою ветку dev, ссылки NuGet все еще там, хотя пакеты NuGet определенно не установлены.Открытие диспетчера пакетов NuGet подтверждает, что.

Я ничего не слил из своей новой ветки, поэтому ссылки там быть не должны.Итак, я определил, что должен быть файл, который игнорирует git со ссылкой на пакеты NuGet.

Поэтому я попытался удалить все в моем репо, кроме папок .vs и .git, а затем выполнить сброс git -трудно вернуть только то, что знает git и вуаля, ссылки исчезли в моей ветке разработки.Возвращение к моей другой ветке возвращает их (как и должно быть), но также означает, что они возвращаются снова, когда я снова переключаюсь на dev.Все строится правильно, я просто хочу понять, почему появляются вещи, которых не должно быть, и как заставить их уйти, когда их там не должно быть.

1 Ответ

0 голосов
/ 20 сентября 2019

Открытие диспетчера пакетов NuGet подтверждает это.Поэтому я решил, что должен быть файл, который игнорирует git, который имеет ссылку на пакеты NuGet.

Используете ли вы формат Packages.config для управления пакетами nuget?

Я полагаю, возможно, ваша команда не добавляет этот файл в систему контроля версий . (Этот файл в .gitignore?)

Если это так, так как этот файлиспользуется для управления пакетами nuget, независимо от того, на какую ветку вы переключаетесь, вы всегда будете видеть пакет Nuget в пользовательском интерфейсе.И это ожидаемое поведение, если этот файл не находится в системе контроля версий.

Обновлено:

Итак, я установил пакет NuGet, и он появился в раскрывающемся списке "Ссылки" моего проекта.Отлично.Но теперь, когда я переключаюсь обратно в свою ветку разработчика, ссылки NuGet все еще там.

Также есть вероятность, что эта проблема возникает из-за того, что вы не зафиксировали и не синхронизировали изменения вновая ветка перед переключением обратно на ветку Dev , в этой ситуации вы все равно увидите пакет в пользовательском интерфейсе, хотя и в ветке Dev (я думаю, что это как-то связано с расширением Gitв VS он может извлечь что-то из локального кэша)

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

Надеюсь, что это поможет, и если я что-то неправильно пойму, поправьте меня:)

Обновлено2:

И есливы сливаете новую ветку обратно в DEV, прежде чем вносить изменения в новую ветку, вы все равно будете ощущать, что ваша ветка Dev будет иметь установленный пакет.

Я предлагаю, чтобы когда вы Разработайте в VS , создайте новую локальную ветку, передайте изменения и синхронизируйте их перед тем, как переключиться на ветку Dev.

...