Ответы:
Я только что исправил аналогичную проблему с решением VS2010 с 35 проектами ... Причина была дублирована
GlobalSection(TeamFoundationVersionControl)
раздел в файле решения. Я закрыл решение, удалил дубликат конфигурации GlobalSection (TeamFoundationVersionControl) и перезагрузил решение, а предупреждающее сообщение исчезло.
Если это не проблема для вас, учитывая, что у вас есть только 2 проекта, я бы отказался от файла перебранного решения, создал бы свежее решение и повторно добавил два ваших проекта ...
Лучшее решение , чтобы заставить VS регенерировать конфиги. Сделать это:
The following property is missing or has incorrect value: SccLocalPath63
а The following property is missing or has incorrect value: SccLocalPath64
Я только что исправил аналогичную проблему в VS2012 с 44 проектами.
Причиной была комбинация дублированного GlobalSection(TeamFoundationVersionControl)
раздела (в виде ответа Бойкса), но у меня также было дублировано несколько проектов - и несколько ссылок на проекты, которые были недавно удалены - в рамкахGlobalSection(TeamFoundationVersionControl)
разделе, который я сохранил.
Как только я убедился, что все упомянутые проекты соответствуют 1: 1 с реальными проектами в моем решении, предупреждение исчезло.
В стороне: я подозреваю, что большинства этих проблем можно было бы избежать, уделив более пристальное внимание .sln во время слияния веток и коммитов, но кто знает, о чем иногда думает VS ...
У меня было множество ошибок выше. Я переименовал проект, сохранил закрытый, открыл заново, изменил имя обратно. Это воссоздает файл .sln и в моем случае вынимает все лишние элементы.
.sln
поисках ошибок.
Решил идентичное сообщение об ошибке в VS2012, следуя указаниям Boycs. Для меня проблема была в двух посторонних GlobalSection(SolutionConfigurationPlatforms) = preSolution
блоках внизу моего файла SLN.
В VS 2015 у меня было два из этих разделов: « GlobalSection (TeamFoundationVersionControl) = preSolution »
Первый включал последний проект, добавленный к решению, второй (ближе к концу файла решения) - нет. После удаления второго, решение открылось в VS 2015 без ошибок.
Другие ответы уже объясняют, как решить проблему. Может быть, я могу помочь, чтобы не получить проблему снова:
Как я получил проблему Наш файл решения перепутался, когда я добавил в него новый проект, в то время как другой разработчик также добавил новый проект и зафиксировал свои изменения (которых я не получил в своей локальной системе). Когда я начал фиксировать свои изменения, мне пришлось объединить файл .sln, где я явно испортил :-)
Что я выучил
Файлы решений ужасно объединяются. Если вы добавляете проект, сделайте следующее: 1. Получите последнюю версию 2. Добавьте свой проект 3. Подтвердите
Если вы видите файл решения в разделе ожидающих изменений, но вы не видите изменений в режиме сравнения, вы должны нажать «Сохранить все». При добавлении вашего нового проекта VisualStudio также изменила решение. Тем не менее, это несохраненное изменение на данный момент.
Проверьте ваши SccNumberOfProjects в вашем файле .sln, он может отличаться от вашего фактического номера проекта.
я исправил подобную проблему в vs2012.
в моем случае проблема заключалась в том, что значение свойства SccProjectName0 внутри GlobalSection в файле MySolutionName.sln было пустым.
я решил это, установив значение SccProjectName0 с копией этого строкового значения из другого решения и заменив имя проекта в строке на текущее (кстати, если имя вашего проекта в нем является пробелом (''), необходимо заменить на '\ u0020').
*
в моем случае проблема начинается после того, как я по ошибке открыл решение, управляемое TFS, со старым файлом MySolutionName.sln того же решения, когда это решение контролировалось VSS.
VS2015 Обновление 3. [GlobalSection (TeamFoundationVersionControl) = preSolution] был дублирован в файле решения. Нижний дубликат содержал проект, который ранее был удален ... поэтому удаление этого дубликата решило проблему. Я думаю, что дублирование было вызвано предыдущей проблемой слияния.
Я могу добавить еще одно возможное решение - хитрое слияние означало, что в одном из разделов SccProjectUniqueName / SccProjectName / SccLocalPath в разделе GlobalSection (TeamFoundationVersionControl) были номера, которые не были уникальными, хотя SccNumberOfProjects был правильным. Исправлена нумерация, исчезло сообщение об ошибке.
VS 2019 - я впервые открывал проект VS 2017 в VS 2019. В окне «Вывод» нажмите «Показать вывод из:» DDL и просмотрите параметры, так как вы можете увидеть дополнительную информацию об ошибке.
В моем случае решение состояло в том, чтобы просто перенастроить сопоставления управления исходным кодом на 2019 год.
У меня была такая же проблема, и мое решение:
Это работает для меня.