2011-01-05 2 views
1

지금 VFSackage를 다시 시작할 수있는 방법을 원합니다. 제로에서로드 한 경우와 같은 의미입니다. 필자는 실제 솔루션과 함께 작동하는 확장 프로그램을 만들었으며 다른 솔루션으로 변경해야 할 때 확장 프로그램의 상태가 그대로 유지되고 싶지 않습니다. 지금까지 IDE를 닫은 다음 확장을 기본 상태로 다시 시작합니다. IDE를 닫지 않고 재설정 할 수있는 가능성이 훨씬 큽니다.방금로드 된 것처럼 VSPackage를 다시 시작하십시오.

답변

2

Visual Studio에서 VSPackage 바이너리를로드하면 프로세스가 끝날 때까지 메모리에로드 된 상태로 유지됩니다. 이는 Visual Studio 아키텍처의 일부입니다.

Visual Studio 사용자가 단일 세션 동안 시간이 지남에 따라 여러 솔루션을 열게된다는 사실을 처리하도록 확장 프로그램을 변경해야합니다.

개체를 특정 솔루션과 연결되도록 디자인하여이 작업을 수행 할 수 있습니다.

IVsSolutionEvents interface을 통해 Visual Studio 패키지의 솔루션 이벤트에 가입 할 수 있습니다. 솔루션이 닫혔다는 알림을 받으면 해당 솔루션과 관련된 개체를 삭제하십시오.

+0

감사합니다. 좋은 생각, 어디서 검색 할 것인가, 그리고 "가까운 솔루션 이벤트"에 어떻게 처리기를 추가 할 수 있는지, 어디에서 힌트를 주는지 알고 있다면. 도구를 초기화하려면 솔루션이 열려 있는지 확인하지만 닫으려면 상태를 지속적으로 확인하는 것이 좋습니다. 그 사건을 찾아야 해. – mjsr

+2

당신이 찾고있는 것은 IVsSolution 이벤트입니다. 나는 대답에 문서에 대한 링크를 추가했다. –

관련 문제