2011-10-06 4 views
82

Visual Studio (및 TFS)가 어떻게 든 가지고 있습니다 (아마도 소스 제어 병합 중에 생각합니다). 내 솔루션 내 프로젝트 경로에 대해 혼란 스러울 수 있습니다. 실제로, 프로젝트 파일이 여기에 반면Visual Studio에서 어딘가에있는 프로젝트에 대한 잘못된 경로를 검색하는 중

C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj 

: 나는 내 인생에 그것을 얻을 수 없기

C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj 

그것을 생각

여기 (단순 예를 들어 경로)입니다 올바른 위치를 인식하십시오. 나는 시도했다 :

  • 정확한 위치에서 프로젝트를 삭제하고 다시 추가한다. The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found이라는 오류 메시지가 나타납니다.

  • ExampleProjectCorrect.csproj에 대한 모든 참조가 올바른 경로를 갖도록 .sln 파일을 수동으로 편집하십시오.

  • 올바르지 않거나 잘못된 경로에 대한 솔루션 디렉토리의 파일에서 찾기를 수행하여 Studio가 잘못된 경로를 숨기는 위치를 찾으십시오.

  • VS와 TFS에 대한 캐시 디렉토리를 삭제

    나는 차이를 100 개 프로젝트를하지 않으며에 묶여대로 근처에있다 나는이 솔루션을 다시 할 수 없기 때문에 내 머리를 찢어있어

다른 여러 개발자들이 소스 컨트롤을 사용하고 있습니다.

누구든지 올바른 방향으로이 잘못된 경로 및/또는 리셋하는 방법을 저에게 지적 할 수 있습니까?

+0

그래서 프로젝트를 ExampleProjectWrong 디렉토리로 이동하면 어떻게됩니까? –

+0

좋아, 일부 진행 .. 잘못된 폴더로 이동하면 Visual Studio에서로드 할 수 있습니다. 나는 'ExampleProjectWrong'디렉토리가 다른 프로젝트에 집에 있고, 같은 폴더 구조를 많이 가지고 있기 때문에 거기에 보관할 수 없습니다. 그래서 프로젝트의 경로를 변경하는 방법에 대한 아이디어가 있습니까? 언로드 된 프로젝트 속성의 경로 필드는 프로젝트가 언로드 된 경우에도 사용할 수 없습니까? –

+2

두 번째로이 문제가 발생했지만 이번에는 다른 연결 문자열을 사용하기 때문에 분기 된 프로젝트가 원본 폴더를 대상으로한다는 것을 알 수있었습니다. Visual Studio에서 원본 폴더의 파일을 디버깅하고이를 지점의 파일과 혼합하거나 Log4net을 원래 폴더에 기록하는 등 아주 처음에는 이상했습니다! ** 솔루션 suo 파일 **을 삭제했는데 이제 분기 된 파일에만 올바르게 액세스합니다. – Binke

답변

84
  1. 이동 작업 영역 관리
  2. 작업 공간에 대한 편집을 선택합니다 (파일을 통해/소스 제어 메뉴 나 작업 공간 중 하나는 아래로 소스 제어 탐색기에서 드롭).
  3. 작업 폴더 아래에 이전/잘못된 프로젝트 디렉토리에 대한 제어 디렉토리의 매핑이 표시되어야합니다.
  4. 을 선택하고 을 클릭하고을 클릭하십시오.
  5. VS를 닫고 suo 파일을 삭제하십시오.

여전히 잘못된 디렉토리를 참조합니다. 어쩌면 리바 인딩이이 시점에서 작동 할 수도 있지만 시도하지는 않았습니다. 프로젝트를 다시로드하면 좋은 결과를 얻을 수 있습니다.

+1

또한 소스 제어 탐색기의 로컬 경로 링크에 속지 마십시오. 내 작업 공간에 대해 하나 이상의 매핑이 있었는데 거기에서 예상했던 것을 보여 주었지만 프로젝트를로드하려고 시도했을 때 다른 경로를 사용하고있었습니다. –

+45

suo 파일을 삭제하면 나에게 트릭을 보냈습니다! –

+3

그래, .suo가 삭제되었습니다. –

0

그냥 추측하고 있지만 다른 프로젝트 중 일부가 잘못된 위치에서 프로젝트를 참조합니까? 이 경우 프로젝트를 삭제하고 솔루션에 다시 삽입하는 것뿐만 아니라 참조하는 프로젝트 (.csproj 파일에 저장 됨)에서 참조를 삭제하고 다시 만들어야합니다.

+0

주셔서 감사합니다. 프로젝트는 솔루션 내의 다른 프로젝트에서 참조되지 않습니다. 파일 찾기 기능이 작동하지 않는 이유를 설명 할 수 있습니까? 내 경험에 따르면 '전체 솔루션'을 선택하는 대신 '찾아보기'에 대한 디렉토리 경로를 지정하면 특정 파일 형식 만 검색하도록 특별히 지정하지 않는 한 모든 파일 형식을 검색합니다. –

+0

죄송합니다. 맞습니다. 솔루션 디렉토리가 아닌 파일의 "파일에서 찾기"기능을 사용하고 있다고 생각했습니다. 그렇게하면 효과가 있습니다. 오류 메시지가 정확히 나타 났을 때 좀 더 정교한 설명을 줄 수 있습니까? 컴파일 할 때 발생하므로 어떤 프로젝트 컴파일이 실패했는지 확인할 수 있습니까? –

2

이동 및 이름 변경과 관련하여 비슷한 문제가 있습니다. 로컬 디렉토리를 삭제 한 다음 다시 로컬 디렉토리를 삭제합니다.

12

Visual Source Safe 2005에서 TFS 2012로 마이그레이션을 수행 한 후에이 문제에 직면했습니다. VSSConvert.exe를 실행하기 위해 다음 몇 주 후에 만기가 될 "변환 마법사"를 기다릴 수 없습니다. 이것은 6 년 정도의 역사를 가지고 TFS로 옮겼습니다. 실제 시간대 기록을 얻지는 못했지만 ... 같은 날 체크리스트에 기록이 있습니다. 실제 기록을 확인하는 메모가 있습니다. 나쁘지 않습니다. ..

밤새도록 (성공 적으로, 예!) 실행 한 후 몇 가지 이유로 프로젝트가 잘못된 디렉토리로 참조되는 몇 가지 이유 때문에 내 프로젝트를로드하는 데 문제가있었습니다. sln, .vsproj 파일, 최신 가져 오기 삭제 ... 추가 제거 .. 등 .. 나는 여기에 언급 한 모든 것을 시도 .. 심지어 내 작업 영역을 업그레이드, 심지어 그게 뭔지 모르겠다 ..

마침내 ... *을 삭제했습니다. .suo 파일 및 비올라 .. 작동했습니다 ...

이 하나에 몇 시간을 보냈습니다.

+2

* .suo 파일을 삭제하기 전에 모든 Visual Studio 인스턴스를 닫은 다음 솔루션을 다시여십시오. – Mas

-2

나는 그것이 오래된 줄입니다. 나는 지금 막 동일한 문제를 겪었다. 최근에 TFS를 마이그레이션 했으므로 새 서버에 매핑하고 이전 서버를 유지할 새 작업 영역을 만들었습니다. 내 새 작업 영역을 대상으로해야하는 솔루션을 열 때마다 VS는 이전 작업 영역을 제거 할 때까지 항상 이전의 매핑 디렉토리에서 프로젝트를로드하려고했습니다.

+0

처음 질문에 도움이되지 않습니다. –

+0

제 생각에는 같은 문제였습니다. 나는 두 개의 작업 공간을 가지고 있는데 그 중 하나는 오래되었다. 나는 새로운 프로젝트에서 일했고, 솔루션을 만들어 프로젝트를 추가했습니다. 솔루션을 닫지 않은 경우에만 모든 것이 좋습니다. 그러나 솔루션을 저장하고 열려고 시도하면 VS는 항상 이전 작업 공간에 매핑 된 디렉터리에서 솔루션의 프로젝트를로드하려고했습니다. – BackToSorrento

27

단순히 해결책을 삭제하면 .suo 파일이 효과적입니다.

+5

VS2015에서 ' \ .vs \ \ \ .suo'을 삭제하기 전에 모든 Visual Studio 인스턴스를 닫아야했습니다. – GraehamF

5

약간 다른 해결책입니다.

TFS가 특정 솔루션에 대해 존재하지 않는 경로를 표시하고있었습니다. 이전에는 별도의 D : 드라이브가있는 노트북을 사용했지만 이제는 C : 드라이브 만 사용합니다. \ 프로젝트 \ MikesProject을

를 내가 삭제하는 .suo 파일의 D 없었 : 경로 내 작업 영역의 아무 곳이나 언급되지되었다합니다 (File\Source Control\Advanced\Workspaces 메뉴에서 멀리 매장을 TFS는 여전히 내 프로젝트 D에 저장된 생각), TFS는 내 (더 이상 존재하지 않는) D : 디렉토리에 최신 파일을 가지고 있었고 VS2013의 TFS에는이 프로젝트의 "Remove Mappings"옵션이 없다는 것을 보여주었습니다.

하지만 작품이 단순히 "최신 버전 가져 오기"작업을 수행 한 것입니다.

그런 다음, 새로운 C : 드라이브에 코드 사본이 기록되었으며 흥미롭게도 로컬 경로는 에 밑줄이 그어져으로 표시되었습니다.

예전에는 D : 경로가 이와 같이 표시되지 않았습니다.

이상한 매우 이상합니다.

+2

나와 똑같은 상황. 그 잘못된 경로로 인해 방아쇠를 당기고 "Get Latest"하는 것을 주저했지만, @Mike는 용기를주었습니다! – Jonathan

+0

이것은 나를 위해 일했습니다. 감사. –

0

많은 권장 사항을 시도한 후에 suo 파일을 삭제했습니다 (다시). 마지막으로 일한 시간입니다. 왜 그것이 일찍 작동하지 않았는지 나는 모른다. 일반적으로 내가하는 첫 번째 단계 중 하나를 suo 파일을 삭제 찾을 수 있습니다.

0

내 Dev Branch에서 열었던 asp.net 웹 사이트 솔루션을 사용했습니다. 다른 목적으로 메인 브랜치에서 같은 솔루션을 열었습니다.

dev 브랜치에서 내 .ascx.cs 파일 중 하나를 변경하고 중단 점을 설정했습니다. 디버거를 실행했을 때, 모든 브레 이크 포인트는 메인 브랜치를 타격하는 .ascx.cs를 제외하고 Dev 브랜치에서 히트되었습니다. 모르겠다.

임시 폴더를 청소하려고 시도했지만 작동하지 않았습니다.

다시 데브 지점에서 솔루션을 오픈 비주얼 스튜디오

의 모든 인스턴스를 휴관일 : 일을 무엇

.

다시 실행하면 중단 점이 시작됩니다.

1

는 심지어 .suo 파일 .vs 폴더를 삭제 한 후, 나는 .sln 파일을 편집하고 올바른되는 SccLocalPath#에도 불구하고 SccProjectName#에서 이전 상대 URL을 제거했다. 분명히 또한 VS는 힌트 경로로 이름을 사용합니다.

1

.suo 파일 (확장명 포함)을 삭제하거나 이름을 바꾸어보십시오. 이 파일은 솔루션 파일과 동일한 위치에 있습니다. 그것은 나를 위해 일했습니다.

0

필자의 경우 * .sln 파일을 프로젝트 폴더에 복사하고 프로젝트 경로를 * .sln 파일로 변경했습니다. 이 문제 만 해결되었습니다 (vs 2015 sp1, winservise 프로젝트).

삭제 * .suo는 저에게 도움이되지 않습니다.

관련 문제