답변:
35 개의 프로젝트가있는 VS2010 솔루션과 비슷한 문제를 방금 수정했습니다 ... 원인이 복제되었습니다.
GlobalSection(TeamFoundationVersionControl)
솔루션 파일의 섹션. 솔루션을 닫고 중복 GlobalSection (TeamFoundationVersionControl) 구성을 제거하고 솔루션을 다시로드했는데 경고 메시지가 사라졌습니다.
이것이 문제가 아닌 경우 2 개의 프로젝트 만 고려하면 파열 된 솔루션 파일을 버리고 새로운 솔루션을 만들고 두 프로젝트를 다시 추가하십시오 ...
가장 좋은 방법은 CONFIGS를 재생하기 위해 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)
섹션 (la Boycs의 답변) 의 조합 이었지만, GlobalSection(TeamFoundationVersionControl)
내가 유지 한 섹션 내에서 최근에 제거 된 프로젝트에 대한 참조뿐만 아니라 여러 프로젝트가 중복되었습니다 .
참조 된 모든 프로젝트가 내 솔루션의 실제 프로젝트와 1 : 1 일치한다는 것을 확인하면 경고가 사라졌습니다.
제쳐두고 : 나는 분기 및 커밋 병합 중에 .sln에주의를 기울여 이러한 문제의 대부분을 피할 수 있었을 것이라고 생각하지만 누가 VS가 때때로 생각하는지 알고 있습니다 ...
위의 오류가 많이있었습니다. 프로젝트 이름을 바꾸고 닫은 상태로 저장하고 다시 열면 이름이 변경되었습니다. 이것은 .sln 파일을 재생성하며 필자의 경우 모든 추가 항목을 제거했습니다.
.sln
오류를 찾는 데 신경 쓰지 마십시오 .
다른 답변은 이미 문제를 해결하는 방법을 설명합니다. 어쩌면 나는 다시 문제를 해결하지 못할 수 있습니다.
문제 해결 방법 새 프로젝트를 추가 할 때 솔루션 파일이 혼동되는 반면 다른 개발자도 새 프로젝트를 추가하고 변경 사항을 커밋했습니다 (내 로컬 시스템에는 없었습니다). 변경 사항을 커밋하기 시작했을 때 .sln 파일을 병합해야했습니다.
내가 배운 것
솔루션 파일이 병합하기가 끔찍합니다. 프로젝트를 추가하는 경우 다음을 수행하십시오. 1. 최신 버전 얻기 2. 프로젝트 추가 3. 커밋
솔루션 파일이 보류중인 변경 사항 아래에 있지만 비교 모드에서 변경 사항이 표시되지 않으면 '모두 저장'을 눌러야합니다. 새 프로젝트를 추가하는 동안 VisualStudio도 솔루션을 변경했습니다. 그러나 이것은 현재 저장되지 않은 변경 사항입니다.
vs2012에서 비슷한 문제를 해결했습니다.
필자의 경우 문제는 MySolutionName.sln 파일의 GlobalSection 내의 SccProjectName0 속성 값이 비어 있다는 것입니다.
SccProjectName0 값을 다른 솔루션 에서이 문자열 값의 사본으로 설정하고 문자열의 프로젝트 이름을 현재 이름으로 바꾸는 것으로 해결했습니다 (BTW-프로젝트 이름이 공백으로 있으면 ( ''), '\ u0020'으로 대체하십시오).
*
필자의 경우이 솔루션이 VSS에 의해 제어 된 시간과 동일한 솔루션의 이전 MySolutionName.sln 파일을 사용하여 TFS에 의해 제어 된 솔루션을 실수로 연 후에 문제가 시작됩니다.