방금 VS 2013 에서이 문제에 부딪 쳤습니다. 분리 할 수 없었던 것이 CSPROJ 파일의 GUID를 변경하는 것이 었습니다. CSPROJ 파일이 SVN에 체크인되었으므로 로컬 개발자의 GUID를 간단하게 변경할 수 없었습니다. 대신, 나는 항상 SVN이 발생할 때마다 로컬 변경 사항을 되돌 렸습니다.
먼저, 변화하는 GUID 문제를 해결해야했습니다.
- CSPROJ를 체크인 버전으로 되돌립니다.
- VS가 아닌 텍스트 편집기를 통해 CSPROJ를 엽니 다.
깨끗한 CSPROJ 파일에서 값을 추출하십시오.
{B1234567-5123-4AAE-FE43-8465767788ED}
VS가 아닌 텍스트 편집기를 통해 SLN 파일을 엽니 다.
솔루션에서 프로젝트 참조를 찾으십시오.
Project ( "{FAE12345-3210-1357-B3EB-00CA4F396F7C}") = "Some.Project", ".... \ assemblies \ Some.Project \ Some.Project.csproj", "{B7654321-5321-4AAE- FE3D-ED20900088ED} "프로젝트 종료
나열된 첫 번째 GUID는 솔루션 GUID입니다. SLN에서 참조 된 모든 프로젝트에 대해 첫 번째 인수에서이 값이 반복되는 것을 볼 수 있습니다. .csproj 다음에 오는 GUID는 원래 GUID로 바꾸려는 GUID입니다.
첫 번째 문제는 해결해야하지만 메타 데이터의 "정의로 이동"착륙은 해결되지 않습니다. SLN 파일에는 마스터 프로젝트 (웹 사이트)가 있으므로 SLN 파일의 항목에는 여러 GUID 값이있는 ProjectSection 항목이 포함되어야합니다. 예를 들면 다음과 같습니다.
ProjectSection(ProjectDependencies) = postProject
{AC50D230-24C4-4DCA-BAAD-355E6AF5EFBD} = {AC50D230-24C4-4DCA-BAAD-355E6AF5EFBD}
EndProjectSection
이 컬렉션에서 빠진 GUID는 제 자신의 프로젝트에서 나온 것입니다.
- 누락 된 GUID를 ProjectSection과 EndProjectSection 사이의 마지막 항목으로 추가하십시오. 형식은 한 줄에 표시되며 {GUID} = {GUID}입니다.
- 파일을 저장하십시오.
- 솔루션을여십시오.
- 새로 추가 된 프로젝트에서 참조를 마우스 오른쪽 단추로 클릭하고 "정의로 이동"