2011-08-30 3 views
1

I 부가 코드, 연결 클래스 비주얼 스튜디오에서 양식을 엽니 다하기 위해 노력하고있어이 잘 작동Connect.Exec() 실행하지 (비주얼 스튜디오 2010 추가 기능)

public void Exec(
     string pCommandName, 
     vsCommandExecOption pExecuteOption, 
     ref object pVarIn, 
     ref object pVarOut, 
     ref bool pHandled) 
    { 
     pHandled = false; 
     if (pExecuteOption == vsCommandExecOption.vsCommandExecOptionDoDefault) 
     { 
      if (pCommandName == "VisualStudioSolutionGenerator.Connect.VisualStudioSolutionGenerator") 
      { 
       Form1 form = new Form1(); 
       form.Show(); 
       pHandled = true; 
       return; 
      } 
     } 
    } 

을 Form1에 정의되어있는 경우 동일한 어셈블리이지만 다른 어셈블리에 있으면 Exec()도 호출되지 않습니다. 나는 비슷한 질문이 here으로 게시 된 것을 보았지만 대답을하지 못했습니다.

누구나 이것이 어떤 이유인지 알 수 있습니까? 감사

답변

2

이 문제 해결 무엇 :

내가 'VisualStudioSolutionGenerator'다른 컴퓨터에서 같은 방법으로 명명 된 추가 기능 프로젝트를 생성하고 내가 디버그 모드에서 실행하려고 할 때이 오류가 발생했습니다 :
는 " 추가 기능 <addin_name>로드하지 못했거나 예외가 발생했습니다 ... ".
오류 코드는 80070002로 일부 파일이 없음을 의미합니다.
그래서 "C : \ Users \ <user_name> \ Documents \ Visual Studio 2010 \ Addins \ VisualStudioSolutionGenerator - For Testing.AddIn"(Windows 7 컴퓨터) 및 해당 파일의 어셈블리 태그가 "<addin_project_path>/bin/VisualStudioSolutionGenerator.dll ". 이 파일은 존재하지만 'Form1'이 포함 된 파일을 포함하여 addin 프로젝트에서 사용되는 다른 솔루션 프로젝트의 DLL은 빌드시이 폴더에 복사되지 않으며 "<addin_project_path>/bin/Debug /"폴더에만 있습니다.

'테스트 용'어셈블리 파일을 "<addin_project_path>/bin/Debug /"에 추가하면 예외가 제거되고 Connect.Exec()가 이제 정상적으로 실행됩니다.

+0

답변 해 주셔서 감사합니다. – balalakshmi

관련 문제