После этого последнего обновления Visual Studio 2022 следующее всплывающее/модальное окно отображается только при первой загрузке решения (при нажатии ярлыка «Закреплено») в этом экземпляре Visual Studio. Выбор «нет» позволяет мне продолжать работать с системой контроля версий.
Не удалось найти поставщика системы управления версиями, связанного с этим решением. Проекты будут рассматриваться как не находящиеся под контролем источника.
Хотите навсегда удалить привязки системы управления версиями из проектов?
Я могу нормально выполнять свою работу, выбрав «нет», но мне кажется, что мы что-то неправильно настроили? Скорее всего, это будет только раздражать. Или, может быть, это новая ошибка, появившаяся в Visual Studio?
Что не показывает модальное окно:
Я также наблюдаю такое поведение с момента последнего обновления, но только с одним из моих решений. Другие открываются нормально без уведомления.
Если вы нажмете «Да» в диалоговом окне и сравните «до» и «после» (или посмотрите на Git, если вы его используете), вы, скорее всего, увидите следующее:
- <SccProjectName>SAK</SccProjectName>
- <SccLocalPath>SAK</SccLocalPath>
- <SccAuxPath>SAK</SccAuxPath>
- <SccProvider>SAK</SccProvider>
+ <SccProjectName></SccProjectName>
+ <SccLocalPath></SccLocalPath>
+ <SccAuxPath></SccAuxPath>
+ <SccProvider></SccProvider>
В нашем случае организация использовала TFS в прошлом, но при переходе на Git так и не удалила старые привязки полностью.
Либо позвольте Visual Studio очистить их за вас, либо удалите их из файлов csproj самостоятельно. Тогда ваш закрепленный ярлык должен работать, как и раньше.
Обновлено:
При дальнейшем рассмотрении выяснилось, что некоторое время назад (март этого года) об этом сообщалось как об ошибке Visual Studio. 17.10.0 Предварительная версия 2.0 — не удалось найти поставщика системы управления версиями, связанного с этим решением.
Немного примечания:
Если вы нажмете «Да» для удаления привязок SCC, в ваш csproj будут внесены изменения (эти свойства будут удалены). Если вы затем закроете решение, вам будет предложено сохранить эти изменения. При следующем запуске Visual Studio вы не воспроизведете ошибку и увидите удаление свойства в разделе «Изменения Git».
Мы подозреваем, что эти свойства являются остатками использования TFVC. Возможно, вы перешли на Git?
И еще, Карл Закри, твои подозрения относительно основной причины почти верны. В рамках повышения производительности мы начали загружать Git в цикл запуска чуть позже. По этой причине свойства провайдера SCC, которые раньше игнорировались (поскольку Git уже был запущен), теперь запрашиваются.
Моя команда тестирует это прямо сейчас! Я вернусь, чтобы отметить ответ, как только он будет подтвержден... спасибо!
Пиар в теме, проблема решена! Кроме того, мы также перешли с TFVC на Git, так что ваша гипотеза верна!
Приятно слышать и рад слышать, что это сработало и для вас.
Я использую VS 17.10.3, но проблема все еще возникает. Мой проект ориентирован на .NET 4, и несколько лет назад он был перенесен на Git.
Поскольку ваш код находится под git, вы можете безопасно запустить команду, чтобы Visual Studio удалила сопоставления системы управления версиями. Запустите git status
после, и я предполагаю (основываясь на том, что я видел в третьем репозитории), что есть файл проекта, в котором все еще есть некоторые сопоставления TFS. Выбор «Да» в диалоговом окне приведет к внесению изменений, которые git уловит (если вы явно не исключили каталог/файлы), поэтому можно безопасно, чтобы VS сделал это за вас. Было бы любопытно услышать, что это в конечном итоге удалит для вас (может помочь другим).
Мы не решались позволить Visual Studio «навсегда удалить привязки системы управления версиями», поэтому мы выполнили поиск в файлах для «SccProjectName». Конечно же, был один файл проекта с точными строками, показанными в ответе Джеймса Скемпа. Мы удалили «SAK» из всех 4 строк, перезагрузили решение, и подсказка пропала.
//search solution for the following code, and remove SAK from each line
<SccProjectName>SAK</SccProjectName> => <SccProjectName></SccProjectName>
<SccLocalPath>SAK</SccLocalPath> => <SccLocalPath></SccLocalPath>
<SccAuxPath>SAK</SccAuxPath> => <SccAuxPath></SccAuxPath>
<SccProvider>SAK</SccProvider> => <SccProvider></SccProvider>
//reload the solution and the prompt should be gone.
Похоже, это было исправлено в Visual Studio 2022 версии 17.10.5. Вчера вечером я обновил Visual Studio, и хотя в моих файлах csproj все еще остались эти старые остатки, приглашение больше не отображается.
Visual Studio 2022 версии 17.10.5: обзор новых возможностей этого выпуска
Я испытываю то же самое после обновления до 17.10.2.