2011-06-12 3 views
13

이전 버전의 Visual Studio에는 확장 (더 구체적으로 추가 기능) 인 OnConnect 메서드에 대한 단일 진입 점이있었습니다. 거기에서 메뉴 항목 추가 및 전역 예외 처리기 설정과 같은 Visual Studio 작업을 모두 수행하여 처리되지 않은 예외를 정상적으로 처리 할 수있었습니다.Visual Studio 2010의 전역 예외 처리기 만들기 VsPackage

Visual Studio 2010의 VsPackage에서는 응용 프로그램의 여러 부분 (예 : IWpfTextView)이 MEF에서 구성되어 패키지를 명시 적으로 제어하지 않고로드되어 매우 어려운 예외를 처리합니다.

자신의 try..catch에 이러한 모든 구성 요소를 명시 적으로 배치하지 않고도 VsPackage의 (중요하지 않은) 예외에 대한 전역 처리기를 어떻게 효율적으로 구현할 수 있습니까? 다시 말하지만, ReSharper의 예외 대화 상자와 같은 것이 있는데, Visual Studio를 손상시키지 않고 전역 예외를 처리 할 수 ​​있습니다.

+0

흠, 남자. 나는 거의 같은 질문을하는 엘리사에게 편지를 썼다. 이봐. – Restuta

+0

현상금 추가 =) – Restuta

답변

3

나는 공식 VsExtensibility 포럼을 읽고 모든 예외를 잡기 위해 후크하는 그런 한 곳이 없다 thisthis 스레드에 따라가이 주제를 연구 하였다. 그래서 전형적인 해결책은 try ... 시도 사방에.

PostSharp과 같은 AOP 프레임 워크 중 하나를 사용하여 처리되지 않은 예외를 처리하는 것만을위한 진부한 중복 코드를 제거하기 위해 속성을 사용하여이 작업을 수행하는 것이 좋습니다.