Подтвердить что ты не робот

Как предотвратить "Похоже, что существует несоответствие между контролем источника решения..." без изменения .sln файла

Примечание. Я видел "Кажется, что существует расхождение между исходным элементом управления..." , но это не применяется, поскольку я хотите исправить это, не изменяя файл .sln.

По какой-то причине в любое время я открываю решение, имеющее в sln файле:

SccTeamFoundationServer = http://servername:8080/tfs/defaultcollection
SccAuxPath* = http://servername:8080/tfs/defaultcollection

Моя копия VSS настаивает на ее переключении на

SccTeamFoundationServer = http://servername:8080/tfs/
SccAuxPath* = http://servername:8080/tfs/

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

Каждый использует Visual Studio 2010 с Visual Studio 2010 Team Explorer.

4b9b3361

Ответ 1

У меня возникла эта проблема с решением, содержащим файлы проекта *.vcxproj, ранее перенесенные с VS2008 на VS2010. Путь к TFS был определен как в файле .sln, так и в файлах .vcxproj.

Простейшим решением было обновление файлов проекта .vcxproj для использования ключевого слова SAK.

т.е. обновление из формата:

<SccProjectName>$/MyProject/Directory/abc</SccProjectName>
<SccAuxPath>http://servername:8080/tfs/defaultcollection</SccAuxPath>
<SccLocalPath>.</SccLocalPath>
<SccProvider>{11111111-1111-1111-1111-111111111111}</SccProvider>

к

<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>

Ответ 3

У меня была эта точная проблема. Я, наконец, решил проблему, отключив TFS и снова подключив: В Team Explorer (View-Team Explorer) щелкните правой кнопкой мыши имя сервера TFS и нажмите "Отключить". Затем нажмите Team-Connect на Team Foundation Server...

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

Компьютер, с которым это произошло, отлично работал в течение года, но я думаю, что Visual Studio каким-то образом кэшировала это имя как http://servername:8080/tfs/ вместо http://servername:8080/tfs/defaultcollection и отсоединение и повторное подключение к TFS reset VS к правильному пути http://servername:8080/tfs/defaultcollection. На моем сервере (и я бы догадался на всех) http://servername:8080/tfs/ и http://servername:8080/tfs/defaultcollection указывает на одно и то же. Решение Raymund не сработало для меня - у меня была та же проблема, что и у Брайана.

Ответ 4

Используя Visual Studio, вы можете решить эту проблему путем развязывания и привязки решения и/или проектов. Попробуйте следующее:

  • Откройте решение проблемы в VS (теперь это было в VS2013)
  • Зафиксируйте все, что вам нужно для совершения (пусть все упростится - ничего не слить/проверить)
  • Если есть ожидающие изменения, отмените все ожидающие изменения ко всем проектам в этом решении и любые изменения самого решения
  • Перейдите в раздел "Файл" → "Управление источником" → "Дополнительно" → "Изменить контроль источника"
  • Выберите проекты проблем и нажмите "Отменить"
  • Нажмите "ОК" и закройте окно (ЭТО ВАЖНО - если вы не нажмете OK, VS не будет правильно обновлять решение)
  • Перейдите в раздел "Файл" → "Управление источником" → "Дополнительно" → "Изменить контроль источника"
  • Выберите все проекты, которые вы несвязали в №5, и нажмите "Привязать"
  • Нажмите "ОК" и закройте окно
  • Проверьте изменения своего решения и проекта
  • Закройте решение и откройте его, и теперь все будет хорошо.

Ответ 5

Также попробуйте открыть файл .sln из Source Control Explorer, я думаю, что, возможно, это и помогло мне решить эту проблему.