프로젝트 파일 이름이 바뀌 었거나 컴퓨터에 없습니다


150

TFS 소스 제어에서 VS 2008 프로젝트를로드하려고하면이 오류가 발생합니다.

프로젝트 파일이 이동되었거나 이름이 변경되었거나 컴퓨터에 없습니다

확인을 클릭하면 프로젝트에 "사용할 수 없음"이 표시됩니다. 무엇이 문제입니까? 이 문제를 어떻게 해결합니까? 나는 전에이 문제가 없었습니다. 일부 블로그에서 .suo 파일을 삭제한다고했지만 .suo 파일을 찾을 수 없습니다. 다음 번에 프로젝트를 열면 새 프로젝트가 생성되도록 로컬 컴퓨터에서 전체 프로젝트를 삭제했지만 여전히 동일한 오류가 발생합니다.


28
오, 내가 두통을 줘서 TFS를 싫어하는 방법!
John Leidegren

2
내려 가시면 여기에 정답이 있습니다.
Claudius

답변:


270

일반적으로이 문제를 해결하는 데 도움이되는 것은 솔루션 사용자 옵션 ( "SUO")을 삭제하는 것입니다.

2013 년까지 VS

이전 VS SolutionName.suo에서는 기본 .sln파일 과 동일한 폴더에 "숨김"으로 저장됩니다 .

VS2015 이상

VS2015에서는 동일한 데이터가 .vs기본 .sln파일 과 같은 폴더 아래의 "숨겨진" 폴더 로 이동되었습니다 .


6
+1. 매우 불행한 오류 메시지-실제로 SCC 제공 업체에 따라 파일을 "올바르게"이동했을 때 발생할 가능성이 가장 큽니다. (예 : TFS에 'tf rename'사용) TFS에 알리지 않고 디스크에서 프로젝트를 이동하거나 sln / csproj 파일을 업데이트하지 않으면 경험에 따라 다른 오류 메시지가 나타납니다. SUO 파일은 불투명하므로 tfpt treeclean / scorch를 수행 할 때까지 머리를 긁적입니다.
Richard Berg

8
그것은 내 하루를 저장;)
카밀 라크

44
.suo 파일을 삭제 한 후 Visual Studio를 다시 시작하는 것을 잊지 마십시오
orandov

8
오. 이제 .suo 파일이 숨겨져 있습니다. 왜? 아, 왜 그런지 알아 우리는 개발자이며 공개적으로 .suo 파일을 보면서 추가 된 복잡성을 처리 할 수는 없습니다. ;-)
Torben Rahbek Koch

29
.suo 파일의 경로가 <SolutionFolder> \. vs \ <SolutionName> \ v14 \ .suo로 변경되었지만 Visual Studio 2015에서도 작동합니다.
Greg M.

38

프로젝트 이름을 바꾼 후 VS 2013을 사용 하여이 문제에 부딪 쳤습니다. Stanley의 답변으로 솔루션으로 안내했습니다.

VS 닫기-.suo 파일 삭제-VS를 다시 시작하십시오.


1
틀릴 수도 있지만 VisualStudio를 닫을 때까지 .SUO 파일을 보지 못했다고 생각합니다.
Michael R

5
VS를 삭제하기 전에 닫는 것이 중요합니다. VS가 열린 상태에서 파일을 삭제 한 다음 닫았다가 다시 열더라도 아무런 효과가 없습니다. 먼저 닫아야합니다!
wizloc

23

특별한 방법으로 .suo 파일을 삭제하십시오.

  1. 숨겨진 .suo 파일을 삭제할 때 솔루션을 열지 마십시오.
  2. VisualStudio를 다시 시작하십시오.
  3. 오류 메시지없이 솔루션을 열고 프로젝트를 추가하십시오.

Visual Studio 2019에서 일했습니다. 숨겨진 .vs폴더 만 삭제하면됩니다
user919426

11

TFS는 대부분의 소스 제어 패키지처럼 작동합니다. 컴퓨터에 넣은 내용을 기억하므로 "최신 정보 얻기"는 모든 것을 얻을 필요없이 마지막 "Get"이후로만 변경해야합니다.

한 가지주의 사항이 있습니다. 디스크에서 로컬 파일을 삭제하거나 이름을 바꾸면 TFS는이 작업을 수행 한 사실을 알지 못하고 여전히 원래 위치에 있다고 생각합니다.

"최신 정보 얻기"를 선택하면 누락 된 파일을 업데이트하지 않아도됩니다.

그러면 TFS 및 파일을 찾는 다른 도구에서 모든 종류의 "파일 누락"오류가 발생할 수 있습니다.

주변을 돌아 다니려면 다음이 필요합니다.

  • 잃고 싶지 않은 변경 사항이 있다고 생각 될 경우를 대비하여 PC의 소스 폴더를 백업용으로 복사하십시오!
  • 프로젝트 (솔루션 탐색기에서) 또는 폴더 (소스 제어에서)를 마우스 오른쪽 단추로 클릭하십시오.
  • 상황에 맞는 메뉴에서 "특정 버전 가져 오기"를 선택하십시오.
  • "최신 버전"을 선택하고 "이미 작업 공간에 파일을 강제로 가져 오기"와 같은 옵션을 선택하면 TFS가 "알고있는"항목을 잊어 버리고 모든 파일을 다시 가져올 수 있습니다.

로컬로 변경된 (쓰기 가능한) 파일이 있으면주의하십시오. 덮어 쓰는 두 번째 옵션이있어 변경 사항이 손실됩니다. 그러나 백업이 있으므로 안전해야합니다. 일반적으로 모든 소스 코드가 완전히 최신 상태인지 확인하려면이 옵션을 선택하는 것이 좋습니다. (그러나 로컬 변경 사항을 잃어 버릴 염려가없는 경우에만 분명히!)

확인하면 프로젝트의 모든 파일을 로컬 드라이브에 강제로 가져 와서 문제를 해결해야합니다.


"특정 버전 가져 오기"를 수행하고 "로컬 일치 서버 인 경우에도 모든 파일 덮어 쓰기"를 선택했습니다. 오류가 없지만 아무것도 들어오지 않았습니다. 다른 컴퓨터에서 확인했는데 프로젝트가 TFS에 있고 다른 사람이 제대로 작업 할 수 있습니다.
sineas

BTW 로컬 소스 폴더가 완전히 비어 있습니다. 아무것도 없습니다. 새로운 파일을 모두 얻을 수 있도록 처음에 모든 파일을 삭제했습니다. 새로운 프로젝트를 여는 것과 같습니다.
sineas

1
이 경우 다음으로 확인해야 할 것은 작업 공간 매핑입니다. 팀 탐색기에서 소스 제어 아이콘을 두 번 클릭하면 표시되는 창의 맨 위에 드롭 다운 콤보 상자가 있습니다. 드롭 다운 메뉴에서 "작업 영역 추가 / 편집"을 선택하십시오. 작업 공간을 편집하고 코드가 포함 된 TFS 프로젝트에 로컬 하드 드라이브에 해당 폴더가 있는지 확인하십시오. 솔루션을로드하려고 할 때이 폴더를보고 있는지 확인하십시오. (힌트 : 문제의 원인을 추적하기 위해 노력하는 다른 개발자의 설정과 비교)
Jason Williams

9

잘 알려진 VS 결함이지만 확실하게 처리 할 수 ​​있습니다!

  • 편집 모드에서 솔루션 파일을여십시오

  • 수정 / 이동 된 실제 경로와 일치하도록 상대 경로를 수정하십시오.

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
  • 또한, 참조 프로젝트에 대한 올바른 상대 경로를 확인하십시오.

    Project("{asdasd-301F-11D3-BF4B-asdasd}") = "Order",
            "Source\Order\Order.csproj", "{E25641BC-C990-40E2-8876-08AE8728F763}"
    EndProject
    

6

.sln 대신 .csproj 또는 .vbproj를 열어보십시오. 아마도 .sln (솔루션) 파일에는 상대 프로젝트 대신 파일에 대한 절대 파일 참조가 있습니다. .sln을 다시 작성하거나 직접 편집해야 할 수도 있습니다.


.vbproj 파일을 열려고했는데 이것이 내가 얻는 것입니다. "선택한 파일을 솔루션 또는 프로젝트로 열 수 없습니다. 솔루션 파일 또는 프로젝트 파일을 선택하십시오"또한 .sln 파일을 다시 작성하는 방법을 넣으십시오. 나는 이것에 익숙하지 않다. 감사
sineas

감사! csproj 파일을 열고 종료하면 새 .sln 파일을 작성 / 저장하고 이전 파일을 덮어 쓰라고 요청했습니다!
Rafael

5

나를 위해 가장 쉬운 옵션은 다음과 같습니다.

  1. 프로젝트를 마우스 오른쪽 단추로 클릭하고 "로드되지 않음"또는 "사용할 수없는"프로젝트를 제거하십시오.
  2. 솔루션을 마우스 오른쪽 버튼으로 클릭하고 "기존 프로젝트"추가

나는 이것을 시도했지만 여전히 같은 오류,이 어리석은 오류를 참을 수 없다.
Hopeless

1
간단하고 똑바로 ..
Sarath Mohandas

3

제 경우에는 .suo 파일을 삭제하지 못했습니다. 작업 공간 구성에 오류가 있음을 발견했습니다. 다음 단계에서 문제점을 발견하고 해결했습니다.

  1. 팀 탐색기에서 "작업 공간 관리 ..."

    여기에 이미지 설명을 입력하십시오

  2. "편집 ..."을 클릭하십시오

    여기에 이미지 설명을 입력하십시오

  3. "로컬 폴더"에서 값을 수정하십시오.

    여기에 이미지 설명을 입력하십시오

  4. 마지막으로, 허용 된 답변마다 영향을받는 .suo 파일을 삭제하십시오.


2

새 솔루션 sln 파일을 만드는 것이 가장 쉽다는 것을 알았습니다.


1

작업 공간 맵핑을 지우십시오 (파일-> 소스 제어-> 작업 공간). 작업 공간을 편집하고 모든 맵핑을 지우거나 (추가 영향)이 서버 경로와 연관된 맵핑을 찾으십시오. 그런 다음 소스 제어 탐색기를 열고 다시 맵핑하십시오. 소스 제어 탐색기에서 SLN을 두 번 클릭하면 최신 상태가됩니다. 무슨 일이 있었는지 또는 어떤 상태로 들어갈 수 있었는지 완전히 알지 못하지만, 이것으로 다시 움직일 수 있습니다.


1

나는이 문제에 부딪 쳤고 .rptproj동료로부터 파일을 가져 와서 내 로컬 디렉토리에 복사 하여 해결할 수있었습니다 . 그런 다음 프로젝트를 다시로드 할 수있었습니다.


1

이 문제를 해결하기 위해 많은 시간을 보냈습니다. 프로젝트 이름 바꾸기, 네임 스페이스 이름 바꾸기, 프로젝트 폴더 이름 바꾸기, .sln 파일 편집, 숨겨진 .suo 파일 편집 등의 단계를 수행했습니다. 프로젝트가로드되었지만 TFS에서 인식 할 수 없었습니다! 마지막 으로이 안내서를 찾았습니다 .

Resharper를 사용하고 TFVC가 버전 관리인 경우 다음 단계를 수행하십시오.

  • 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 이름 바꾸기를 선택한 후 새 이름을 입력하십시오.

  • 프로젝트를 다시 마우스 오른쪽 단추로 클릭하고 특성을 선택하십시오. 응용 프로그램 탭에서 "어셈블리 이름"및 "기본 네임 스페이스"를 변경하십시오.

  • 프로젝트를 다시 마우스 오른쪽 단추로 클릭하고 리 팩터-> 네임 스페이스 조정을 선택하십시오. 변경 사항을 승인하십시오.

  • Properties / AssemblyInfo.cs에서 AssemblyTitle 및 AssemblyProduct 변경

  • Windows 탐색기에서 bin 및 obj 디렉토리 삭제

  • 소스 제어 탐색기를 열고 프로젝트 디렉토리의 이름을 바꾸십시오. 솔루션이 닫힙니다. 닫아 두십시오.

  • SLN 파일 (메모장 ++와 같은 텍스트 편집기 사용)을 열고 프로젝트 경로를 변경하십시오 (여러 곳이 있어야 함).

  • 솔루션을 다시여십시오. 프로젝트를 정리하고 다시 빌드하십시오.


0

사용할 수없는 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트 파일을 편집하십시오 ... 기회는 하드 코드 파일 경로 또는 프로젝트를 체크 아웃 한 위치와 일치하지 않는 가상 경로를 찾을 수 있습니다.

친절,


2
편집 옵션이 없습니다. 그것의 유일한 재로드 프로젝트, 절단 및 제거.
sineas

0

이를위한 솔루션

  1. 다시 프로젝트 폴더 이름을 바꿉니다.
  2. TFS에서 특정 버전 설정 및 강제 가져 오기
  3. 최신 폴더에서 읽기 전용 및 숨겨진 옵션 제거 (이름 바꾸기 폴더 제외)
  4. 이제 아무 문제없이 프로젝트를 열 수 있습니다

0

때로는 경로 .sln.csproj경로 를 변경 하고 수동으로 이름 을 바꾸어도 프로젝트가 포함 된 폴더 이름을 확인하지 못할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.