2008-10-17 4 views
9

Мы часто получаем эту ошибку в Visual Studio 2005 и TFS.«Кажется, что существует несоответствие между исходным управлением решения ...»

Может ли кто-нибудь помочь нам определить причину этого сообщения?

Полное сообщение:

There appears to be a discrepancy between the solution's source control information about some project(s) and the information in the project file(s).

To resolve this discrepancy it will be necessary to check out the project file(s) and update them. If the check out fails, however, and the solution is closed without saving, you will see this warning again the next time you open the solution.

Нажатие кнопки OK в конечном итоге привести к ящику кассе, где он хочет, чтобы проверить весь список файлов проекта. Тем не менее, окно «Изменить исходный элемент управления» не показывает ничего плохого и сохраняет все и просто проверяет его обратно, просто заканчивается тем, что «сообщение ничего не изменилось, не отменено».

Edit: Вы правы, @Adam, мы преобразовали из ВСС, но мы прошли через такую ​​процедуру, чтобы очистки привязок, когда мы делали это некоторое время назад, и все было радужно. В последнее время ошибка начала появляться.

+0

Я понял ответ на эту проблему, потому что один из моих коллег был файл, который не производит ошибку. Рассматривая различия между ними: http://stackoverflow.com/questions/16616424/there-appears-to-be-a-discrepancy-between-the-solutions-source-control-informat – Denis 2013-05-17 21:01:48

ответ

7

Похоже, вы переместили проект из VSS в TFS, а исходный файл решения по-прежнему привязан к VSS - вам нужно переподключить его к TFS.

Here are the steps вам нужно будет исправить это. Я приведу отрывок здесь, но, похоже, он зависит от нескольких факторов и не является тривиальным.

В качестве альтернативы, это нить, которая касается project binding/unbinding, которая может применяться, если это не указано.

Adam

0

У нас есть 2 решения и сотни проектов.

я мигрировали из VS 2008 SP1 на VS 2010 SP1 и также получал ошибку:

Там, как представляется, является несоответствие между информацией управления источником раствора. , ,

Я бы открыл решение1, разрешил ему обновлять проекты, а затем открыть решение2, чтобы снова получить эту ошибку.

Я проанализировал файлы решения и нашел следующее:

Root Причина:

solution1.sln и solution2.sln файлы являются несовместимыми друг с другом в отношении привязок управления версиями проекта.

Пример:

solution1.sln

SccProjectUniqueName6 = Project1\\Project1.csproj 
SccProjectName6 = \u0022$/Project1\u0022,\u0020HSBAAAAA 
SccLocalPath6 = Project1 

solution2.sln

SccProjectUniqueName6 = Project1\\Project1.csproj 
SccLocalPath6 = . 
SccProjectFilePathRelativizedFromConnection6 = Project1\\ 

Решение:

Я исправил эту проблему, вручную изменив файлы решения, чтобы быть последовательными в блокнот. Я копирую и вставляю информацию о контроле источника из решения1.sln в solution2.sln для проектов, которые у них были общие.

В конце концов я написал небольшую утилиту для автоматизации этого.

https://github.com/bentoo/MergeSolutionSourceControl