문제

부인 성명:나는 TFS에 갇혀 있고 그것을 싫어합니다.

내 소스 제어 구조는 다음과 같습니다.

  • /개발자
  • /출시
  • /분기
  • /실험-업그레이드

나는 개발에서 실험적 업그레이드로 분기했지만 건드리지 않았습니다.그런 다음 개발팀에서 더 많은 작업을 수행하고 실험적 업그레이드에 병합했습니다.어쨌든 TFS는 소스와 대상 모두에 변경 사항이 있어서 이를 해결해야 한다고 불평했습니다.5개 항목 모두에 대해 "소스 브랜치에서 항목 복사"를 선택했습니다.

로컬 폴더에 대한 실험적 업그레이드를 확인하고 거기에 있는 기본 솔루션 파일을 열려고 합니다.TFS에서 다음 메시지를 표시합니다.

"최근 이 솔루션에 프로젝트가 추가되었습니다.소스 제어에서 가져오시겠습니까?

내가 그렇다고 대답하면 몇 가지 작업을 수행하지만 결국 소수의 프로젝트를 로드하지 못하고 다시 돌아옵니다.내가 아니오라고 말하면 같은 결과를 얻습니다.

두 지점에서 내 sln을 비교하면 두 지점이 동일하다는 것을 알 수 있습니다.

누구든지 내가 뭘 잘못하고 있는지 알려줄 수 있나요?이는 간단한 분기/병합 작업이어야 합니다...

티아.


업데이트:

위 대화 상자에서 "예"를 클릭하면 프로젝트가 소스 제어의 $/ 루트에 다운로드되는 것을 확인했습니다...(즉.dev 및 Branch 폴더 중)

지점에서 솔루션을 열고 죽은 프로젝트를 제거한 후 다시 추가하려고 하면(sln을 마우스 오른쪽 버튼으로 클릭하고 기존 프로젝트를 추가하고 지점 폴더에 있는 프로젝트를 선택하면 오류가 발생합니다...

c:\sandbox\my_solution\proj1\proj1.csproj 프로젝트를 로드할 수 없습니다. 파일이 제거되었거나 삭제되었습니다.제가 추가하려고 했던 프로젝트 경로는 다음과 같습니다.c:\sandbox\my_solution\branches\experimental-upgrade\proj1\proj1.csproj

도대체 무엇이 이 프로젝트를 가리키고 있는 걸까요? 밖의 로컬 루트의?솔루션 파일은 dev 브랜치의 파일과 동일하며 해당 프로젝트는 정상적으로 로드됩니다.또한 vspscc 및 vssscc 파일도 살펴봤지만 아무것도 찾지 못했습니다.

아이디어?

도움이 되었습니까?

해결책

@벤

실제로 TFS에서 전체 삭제를 수행할 수 있지만 수행 중인 작업을 알지 않는 한 권장되지 않습니다.tf destroy 명령을 사용하여 명령줄에서 수행해야 합니다.

tf destroy [/keephistory] itemspec1 [;versionspec]
           [itemspec2...itemspecN] [/stopat:versionspec] [/preview]
           [/startcleanup] [/noprompt]

Versionspec:
    Date/Time         Dmm/dd/yyyy
                      or any .Net Framework-supported format
                      or any of the date formats of the local machine
    Changeset number  Cnnnnnn
    Label             Llabelname
    Latest version    T
    Workspace         Wworkspacename;workspaceowner

이 작업을 수행하기 직전에 /preview를 사용하여 시도해 보십시오.또한 모든 사람은 분기에 대한 자신만의 방법론을 가지고 있습니다.내 것은 릴리스를 분기하고 개발 또는 루트 폴더에서 모든 개발을 수행하는 것입니다.또한 분기가 제대로 작동하는 것처럼 들렸지만 솔루션 파일이 망가졌습니다. 이는 바인딩 문제와 vssss 파일 때문일 수 있습니다.

다른 팁

@건강 상태:아직 이에 대한 변경 사항은 없습니다.삭제하고 다시 분기해야 할 수도 있습니다(그러나 실제로 TFS에서는 완전히 삭제할 수 없습니다).

그리고 나는 동의하지 않아야합니다 ...분기는 실험적 변경에 있어 절대적으로 좋은 방법입니다.선반은 내가 아직 체크인하고 싶지 않은 경우 백업되는 임시 저장소일 뿐입니다.하지만 이는 실제 기능을 개발하는 동안 개발되어야 합니다.

솔루션 설정에 대해 더 많이 알지 못하면 확신할 수 없습니다.하지만 이를 설명할 수 있는 프로젝트 참조가 있다면."분기" 아래에 "experimental-upgrade" 하위 폴더가 있으므로 상대 경로가 변경되었습니다.

이는 VS가 ..\..\project\whatever에서 참조 프로젝트를 찾았을 때 이제는 ..\..\..\project\whatever에서 찾아야 함을 의미합니다.추가 ..\를 참고하세요.

이 문제를 해결하려면 프로젝트 참조를 다시 추가해야 합니다.더 나은 방법을 찾지 못했습니다.제거하고 다시 추가하거나 속성 창으로 이동하여 경로를 변경한 다음 다시 로드할 수 있습니다.어느 쪽이든 모든 프로젝트에서 참조를 다시 실행해야 합니다.

또한 작업 폴더를 확인하여 프로젝트가 잘못된 폴더에 다운로드되지 않았는지 확인하세요.가끔 이런 일이 일어날 수 있습니다 ...

몇 가지.폴더 구조가 동일합니까?프로젝트 참조를 성공적으로 삭제하고 읽을 수 있습니까?

솔루션을 만든 다음 모든 프로젝트를 수동으로 추가하면 작동합니까?(그것은 실현 가능하지 않을 수도 있습니다. 우리는 100개가 넘는 프로젝트에 대한 솔루션을 보유하고 있습니다.)

한 가지 더 (어리석을 수도 있습니다) - 브랜치를 수행한 후 커밋했습니까?브랜치했는데 체크인을 안하고 병합했다가 그때 체크인을 하려고 했더니 TFS가 엄청 혼란스러워졌는지 궁금하네요.

@케빈:

이는 VS가 ....\project\whatever에서 참조 프로젝트를 찾았을 때 이제는 ......\project\whatever에서 찾아야 함을 의미합니다.추가 ..\를 참고하세요.

여기에 뭔가가 있을 수 있지만 일부 프로젝트는 로드되고 다른 프로젝트는 로드되지 않는 이유를 설명하지 않습니다.아직 둘 사이의 연관성을 찾지 못했습니다.

나는 프로젝트를 다시 추가하고 그것이 작동하는지 확인하려고 노력할 것이라고 생각합니다.

@코리:

내 생각엔 그게 내가 시도할 일인 것 같아...약 20개의 프로젝트가 있는데 8개 정도가 로드되지 않습니다.폴더 구조는 루트와 동일합니다.즉:DEV 외부에는 참조가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top