2010 다음 줄은 비주얼 스튜디오에 대한 개발 추가 기능을 실패하면 :Visual Studio 2010의 addIn 모델에서이 알려진 버그에 대한 대안에 대한 아이디어가 있습니까?
CommandBarEvents handler = (EnvDTE.CommandBarEvents)m_VSStudio.DTE.Events.get_CommandBarEvents(popup);
업데이트 : m_VSStudio이 유형의 팝업은 유형 (유형은 CommandBarPopup이다 DTE2
되었는지 확인하는 잊어 버렸 CommandBarControl를)하지만 작동
라인이 예외와 함께 실패합니다
System.Runtime.InteropServices.COMException (0x80020003): Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))
Visual Studio 2008에서 똑같은 라인이 작동했습니다.
라인의 목적은 팝업을 클릭 할 때 clickevent를 처리하는 핸들러를 얻는 것입니다. 해결 방법이 있기 때문에 basicly, 그것은 고정되지 않습니다 알려진 버그이라고 주장 http://connect.microsoft.com/VisualStudio/feedback/details/524335/events-get-commandbarevents-exception-on-submenus-reproducible-bug-addin
:
은 솜 검색 후 나는이 링크를 발견했다. 그러나 불행하게도 그것은 해결 :(사람이 해결 방법에 대한 좋은 아이디어가있는 경우
가나는 매우 기쁘게 것을 명시하지 않는 이유는 무엇입니까?
내가 클릭 이벤트를 수신 할 이유입니다 내가 보여주고 싶은 때문에 하나는 메뉴 (은 CommandBarPopup)를 클릭 할 때 또는 일부 조건이 주어진 submenuitems (CommandBarControl)를 숨 깁니다.
그래서 클릭 이벤트보다는 다른 것을 사용하는 해결 방법도 감상 할 수있다.
나는 내 문제에서 해결책이 발견 된 것을 매우 기쁘게 생각합니다. Ryan이 나에게 말하기 전에 IDtCommandTarget을 알지 못했습니다. 필자는 IDtCommandTarget 인터페이스가 Connect 클래스에서 설정되어야한다는 점을 우아하게 생각하지 못합니다. 그것은 별도의 클래스로 인수 분해 수 있다면 청소기 것입니다. Ryan이 나에게 그것이 다른 결점들 중 하나라고 말했지만,이 의미에서 필자는 구식 get_CommandBarEvents 접근법을 선호했다. –