15

Visual Studio 2012 및 TFS를 사용하여 팀의 VSPackage에서 작업하고 있습니다.여러 컴퓨터에서 개발할 때 VSPackage를 실행할 수 없습니다.

확장 프로그램은 마법사를 통해 만드는 데 사용되는 컴퓨터에서 잘 작동합니다. 다른 컴퓨터에서 Visual Studio는 "클래스 라이브러리의 출력 유형을 가진 프로젝트는 F5를 사용하여 실행하려고 할 때 직접 시작할 수 없습니다"라고 말합니다.

프로젝트의 출력은 실제로 클래스 라이브러리이며 첫 번째 컴퓨터에서 F5 키를 누르면 확장이로드되고 작동하는 Visual Studio의 실험 인스턴스가 시작됩니다.

두 번째 컴퓨터에서 "% LOCALAPPDATA % \ Microsoft \ VisualStudio \ 11.0Exp \ Extensions"를 보면 확장 프로그램이 빌드되었고 VS로 등록하려고 시도했음을 알 수 있습니다. 두 번째 컴퓨터에도 다른 확장 프로그램을 만들고 첫 번째 컴퓨터에서 실행하려고했습니다. 동일한 오류를 표시합니다.

확장 프로그램을 생성하는 데 사용되지 않은 컴퓨터에서 실행되도록하려면 어떻게해야합니까?

+0

동일한 컴퓨터에서이 문제가 발생했습니다. 주요 소스 코드가 경로 'C : \ Dev-1 \'에 있습니다. 'C : \ Dev-2 \'경로와 동일한 소스 코드를 체크 아웃했습니다. 복사하면 나에게도 같은 오류가 발생합니다. –

+2

'rootSuffix exp2' 또는 다른 방법으로 Visual Studio를 시작하십시오.이 방법으로 새 ​​복사본은 VS의 새 실험 인스턴스로 이동하고'C : \ Dev-1'의 확장명과 충돌하지 않습니다 –

+0

@ Matze의 대답은이 문제를 해결했습니다. 감사. –

답변

31

Visual Studio 패키지 프로젝트 형식은 VISX이라는 프로젝트 속성보기에 추가 탭을 추가합니다. 해당 탭에서 Deploy VSIX content to experimental instance for debugging 옵션이 기본적으로 선택됩니다. 이것이 패키지 파일이 빌드 후 현재 사용자 프로필의 확장 디렉토리에 복사되는 이유입니다.

실험용 하이브를 사용하여 Visual Studio를 시작하려면 클래스 라이브러리 프로젝트의 Debug 설정을 사용자 지정해야합니다. 다음 명령 줄 인수를 Start ActionStart external program에를 설정하고 devenv.exe 파일을 선택합니다 (file's 위치 설치 폴더에 따라 다름) 및 지정

/rootSuffix Exp 

이 F5를 눌러 확장을 디버깅 할 수 있습니다.

+4

고마워요! 문제를 더 자세히 논의하기 위해이 특정 정보는 Projectname.csproj.user 파일에 저장됩니다.이 파일은 포함 된 변경 사항이나 제외 된 변경 내용이 아니라 TFS에서 공유되지 않는 것 같습니다. 이것은 각 컴퓨터에서 수행해야 할 수동 픽스입니다. –

+1

당신 말이 맞아요. 기본적으로 .user 파일은 보류중인 변경 목록에서 무시됩니다 (이유가 있음). – Matze

+0

예, 로컬 컨트롤을 소스 코드에 넣으면 동일한 문제가 발생합니다. .user 파일이 체크인되지 않아서 문제가 발생했습니다. –