Visual Studio 2013에서 솔루션 파일 (SLN)을 강제로 열려면 어떻게해야합니까?


102

VS 2013에서 명시 적으로 VS 2012 솔루션 (SLN 파일)을 열려고하면 성공합니다. Windows 탐색기에서 두 번 클릭하면 VS 2012에서 계속 열립니다.

" Visual Studio 2012가 vs2010 솔루션을 변환하지 않습니까? "를 읽고 솔루션 파일 "다른 이름으로 저장 ..."에 대한 제안을 따랐습니다 .

여전히 기본적으로 VS 2012에서 열립니다.

내 질문:

Visual Studio 2013에서 강제로 열도록 SLN 파일을 변경하는 방법은 무엇입니까?

답변:


123

.sln파일은 표시 목적으로 초기 라인 중 하나 버전 - 예를 들어 :

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013

또는:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

그러나- .sln파일 의 기본 응용 프로그램 이 "Microsoft Visual Studio 버전 선택기"인 경우에만이 기능을 사용할 수 있습니다 . 기본 .sln애플리케이션이 특정 버전 이되는 것은 드문 일이 아닙니다 . Windows 8에서 :

여기에 이미지 설명 입력

"계속 사용"이라고 표시되어 있으므로 기본값을 알 수 있습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력


2
@UweKeim 흠; 그것은 내 경험이 아닙니다. 버전 선택기를 기본값으로 사용하면 올바른 버전의 devenv가 sln 파일 당로드됩니다. 언제든지 해당 솔루션을 VS2013에로드 할 수 있습니까? 그 (것)들을 업그레이드 할 것입니다
Marc Gravell

2
글쎄, 당신의 제안은 나에게 충분합니다. VS 2012의 어두운 아이콘과 비교하여 이제 다시 노란색 폴더 아이콘을 사랑하십시오!
Uwe Keim

2
@UweKeim sln 파일을 보면 두 번째 줄은 어떤 IDE로 열어야하는지 알려줍니다. # Visual Studio 2013vs# Visual Studio 2012
Marc Gravell

1
@UweKeim "값을 인식하지 못하거나 IDE가 설치되어 있지 않다면 가장 최근에 설치된 IDE를 사용하십시오"라는 폴 백이 있다고 생각합니다.
Marc Gravell

6
나를 위해 기본 런처는 이미 "Microsoft Visual Studio Version Selector"로 설정되었지만 2012 ide !!에서 Visual Studio 2013에서 만든 솔루션을 시작했습니다. 그러나 "Microsoft Visual Studio 버전 선택기"를 기본값으로 다시 적용하면 문제가 해결되었습니다. 이제 2012 년은 2012 년 ide에서 열리고 2013 년은 2013 년 ide에서 열립니다. (저는 Windows 7 64 비트를 사용하고 있습니다)
Peter Flannery

35

명령 줄을 사용하여 .sln 또는 .proj 파일을 강제로 업그레이드 할 수도 있습니다. 여기서 devenv는 대상 IDE 버전입니다.

devenv "MyProject.sln" /upgrade

예:

"%programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" "D:\Source\MySolution.sln" /upgrade

Visual Studio는 열리지 않습니다. 대안은 IDE 내에서 솔루션 파일에 대해 "다른 이름으로 저장"을 선택하고 새 이름으로 솔루션을 덮어 쓰거나 저장하는 것입니다.

자세히보기 : http://msdn.microsoft.com/en-us/library/w15a82ay.aspx


1
이것은 스크립트가 가능하고 해킹되지 않기 때문입니다.
CAD bloke

2
안타깝게도이 기술이 항상 솔루션 파일을 업데이트하는 것은 아닙니다.
Theophilus

devenv "MyProject.sln" /upgrade, 당신은 또한의 .sln 파일을 편집해야 자크의 ANS @ 확인합니다.
Wei Guo

22

OP에 이미 작동하는 대답이있는 것 같습니다 ...하지만 저에게는 문제가 달랐습니다. 나는 VS 2012 솔루션 (실제로는 여러 가지)을 가지고 있었고 2013으로 변환하고 싶었습니다. .

그래서 VS2013에서 열 것이라고 생각했는데 예상대로 자동으로 업그레이드 된 다음 솔루션을 두 번 클릭하고 앞으로 VS2013에서 볼 수 있도록 설정되었습니다. 그러나 VS2013에서 여는 것은 예상대로 자동으로 솔루션을 업그레이드하지 않았으며 VS2013에서 파일을 연 후 업그레이드를 강제하는 명시적인 방법을 찾을 수 없었습니다. 솔루션으로 작업하고 변경 사항을 저장하고 VS2013을 닫을 수 있지만 .sln은 변경되지 않고 업그레이드되지 않은 상태로 유지됩니다.

내 문제는 내가 솔루션을 여는 방법에 있었다는 것이 밝혀졌습니다. 습관적으로 파일을 마우스 오른쪽 버튼으로 클릭하고 "연결 프로그램"을 선택하여 파일을 여는 데 사용할 프로그램을 선택합니다. 나는 이것을 자주한다. 참고 기본 "연결 프로그램"프로그램을 변경하는 것이 아니라 특정 프로그램을 사용하여 파일을 한 번 여는 것입니다. 그래서 .sln 파일을 마우스 오른쪽 버튼으로 클릭합니다 .... Visual Studio 2013으로 열면 아무것도 업그레이드되지 않습니다.

결국 나는 VS2013에 들어가서 File> Open을 선택하고 .sln 파일을 선택했습니다. 어쨌든 솔루션 파일을 즉시 업그레이드했습니다.

업그레이드 후 .sln 파일의 2-3 행이 다음과 같이 변경되었습니다.

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

이에:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1

내 경험상 VS2012 .sln을 VS2013으로 자동 업데이트하려면 VS2013을 열고 파일> 열기 대화 상자에서 .sln을 선택해야합니다. 탐색기 셸을 사용하여 .sln 파일을 VS2013에서 강제로 열면 업그레이드 논리가 호출되지 않습니다 (분명히).

추가로, 다른 솔루션으로 테스트 한 후 Configuration Manager를 통해 변경 한 후 (분명히 .sln 파일을 "접촉") VS2012를 VS2013으로 업그레이드했습니다. 마우스 오른쪽 버튼을 클릭하여 열기를 통해 연 후에도 마찬가지입니다.


1
이것이 바로 제가하려는 일입니다. 업데이트 3이 있고 한 프로젝트가 자동으로 업데이트되었지만 다른 프로젝트는 구성 관리자를 열었을 때만 변경됩니다. 팁 주셔서 감사합니다!
Erica

2
나는 VS 2013 내에서 vs 2012 .sln을 열었지만 나를 위해 업그레이드하지 않았습니다. 기묘한.
PositiveGuy

4
업그레이드를 트리거하는 것은 VS 2013에서 솔루션을 여는 것이 아니라 활성 구성의 설정을 변경하는 등 솔루션을 수정하는 작업입니다.
bleater 2014

나는 vs2013에서 vs2015로 업그레이드하려고 시도했으며 작동합니다.
Dingxin Xu

7

이전에 2010에서 2013으로 성공적으로 업그레이드 된 솔루션이 있었지만 여전히 2010과 관련된 .sln을 표시했습니다.

이 스레드에 제공된 모든 메서드를 테스트했으며 .sln을 성공적으로 수정 한 유일한 방법은 Visual Studio 2013을 단독으로 연 다음 IDE에서 2010과 연결된 솔루션을 연 다음 [File]> [Save (이름) .sln as]를 사용하여 기존 .sln 파일을 덮어 씁니다.

.sln의 파일 assoc을 "Visual Studio 버전 선택기"로 설정하면 변경되지 않았으며 솔루션은 2010 년에 계속 열렸습니다.

devenv (이름) .sln / upgrade 메서드는 내 .sln 파일을 변경하지 않았습니다.

.sln 파일의 원시 텍스트를 해킹하면 내 파일이 손상되어 전혀 열리지 않습니다.


건배 제프, 나는 당신과 같은 상황에 처해 있습니다. Microsoft가 이전 버전의 VS와 달리 VS 2013이 모든 것을 업그레이드하지 않기로 결정한 것은 좋지만 말해야합니다! 보통 : 그것은 주변의 다른 방법은, 그리고 나는 서로가 .proj 업그레이드에서 내 다른 VS IDE를 방지하기 위해 노력하고있어 및의 .sln 파일
사이먼 Brangwin

@SimonBrangwin은 다른 답변에 따라 / upgrade로 명시 적으로 호출하는 경우 실제로 요청 된 업그레이드를 수행 할 것으로 예상한다는 점을 제외하면 개선 된 것입니다!
stannius

Jeff 감사합니다! 이것이 2015 년에 기본적으로 열리도록 VS 2013 sln을 업그레이드 할 수있는 유일한 방법입니다. 또한 솔루션 탐색기를 열고 탐색기 트리의 맨 위에있는 솔루션 노드를 수동으로 선택하여 '저장 (이름 ) .sln as '옵션을 선택합니다.
ToastyMallows

6

이 문제를 해결하기 위해 .sln 파일의 다음 줄을 변경했습니다.

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

이것들로 :

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013

주석 행은 솔루션 로더에 의해 구문 분석 될 때 변경됩니다.


4

이는 솔루션 파일을 Visual Studio 2015로 업그레이드하려는 독자에게 적합 할 수 있습니다. (VS 2012 솔루션을 업그레이드했습니다.)

  1. VS 2015에서 솔루션을 엽니 다.
  2. 솔루션에 새 프로젝트를 추가하십시오. (테스트 프로젝트를 추가했습니다.)
  3. 프로젝트를 제거하십시오.
  4. 솔루션을 저장하십시오.

3 단계에서 삭제되지 않았으므로 지금 제거 된 프로젝트 폴더를 삭제할 수 있습니다.

이것은 zumeyTCC의 답변이 모두 실패 했을 때 저에게 효과적이었습니다 .

편집하다

Metro Smurf비슷한 질문 에 대해 저 와 비슷 하지만 더 쉬운 대답을했습니다 . 그의 단계는 다음과 같습니다.

  1. VS 2015의 개방형 솔루션
  2. 솔루션> 추가> 새 솔루션 폴더를 마우스 오른쪽 단추로 클릭 (이름은 중요하지 않음)
  3. 솔루션 저장
  4. 새로 추가 된 솔루션 폴더 삭제
  5. 솔루션 저장

단순히 프로젝트 이름을 변경하고 나중에 되돌 렸습니다. 이렇게하면 폴더가 생성되지 않습니다
Andy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.