2009-10-15 4 views
0

필자가 작성한 디버거 비주얼 라이저에 대한 호출간에 개체를 유지해야하지만 IDE 세션간에 유지할 필요가 없습니다. IDE 용 EnvDTE.Globals 객체는이 객체를 저장하는 확실한 장소처럼 보였습니다.Visual Studio 디버거 비주얼 라이저 호출간에 사용자 지정 개체를 유지하는 방법?

저장되는 개체 유형이 IDE에 이미로드 된 경우 (예 : 정수 목록을 사용하여이 유형의 변수를 전역 객체에 성공적으로 저장 한 다음 디버거 비주얼 라이저에 대한 후속 호출에서이 변수를 검색 할 수 있습니다.

그러나 저장되는 변수의 유형이 디버거 비주얼 라이저 자체가 포함 된 어셈블리 나 비주얼 라이저에서 참조하는 로컬 어셈블리에 선언 된 경우 모두 잘못되었습니다. 객체를 전역에 저장하고 비주얼 라이저에 대한 동일한 호출 내에서 객체를 검색 할 수 있습니다. 그러나 후속 호출에서 액세스하려고하면 값이 존재하는지 테스트 할 수 있지만 액세스하려고하면 IDE가 넘어집니다.

나는 비주얼 라이저가 사용될 때마다 디버거 비주얼 라이저가 다시로드되고 있으므로 저장된 객체의 유형이 예상 한 유형과 일치하지 않는다고 생각합니다. 그건 내 추측이야. 모든 설명/해결 방법을 주시면 감사하겠습니다.

답변

0

개체를 serialize/de serialize하고 개체 대신 serialization 결과를 저장하려고 했습니까?

0

WCF 콜백 객체를 유지하고 디버거 확장이 활성화되지 않은 경우에도 원격 클라이언트가 콜백 할 수있게하려고했습니다. 따라서 객체의 직렬화 된 버전을 저장하면이 특별한 경우에는 도움이되지 않습니다.