2010-08-09 2 views
0

Visual Studio 2008에서 사용하는 플러그인이 있습니다. 2010 년 테스트 중이며 내가보고있는 문제 중 하나는 플러그인이 더 이상로드되지 않는다는 것입니다.2008 년부터 2010 년까지의 VS 플러그인

toolsMenuName = "Tools"; 

Microsoft.VisualStudio.CommandBars.CommandBar menuBarCommandBar = ((CommandBars)_applicationObject.CommandBars)["MenuBar"]; 


CommandBarControl toolsControl = menuBarCommandBar.Controls[toolsMenuName]; 
var toolsPopup = (CommandBarPopup)toolsControl; 


try 
{ 

Command command = commands.AddNamedCommand2(_addInInstance, "TestData", "Test Data", "", true, 0, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, vsCommandControlType.vsCommandControlTypeButton); 


if ((command != null) && (toolsPopup != null)) 
{ 
command.AddControl(toolsPopup.CommandBar, 1); 
} 
} 
catch (ArgumentException) 
{ 

} 

무엇 2010 VS 변경되었습니다 :
이것은 내가 내 플러그인을 추가하기 위해 사용하고있는 명령은?

감사 토니

답변

0

내가 (.NET 2.0을 표적으로) 2005 년과 2008 년에 작동하는 추가 기능을 가지고 있고, 나는 변경하지했다을 2010 년에 작동 시키려면 근본적으로 .net 2.0 추가 기능 이 2010 년에 작동 할 수 있습니다 (완벽하게 작동하려면 몇 가지 사항을 조정해야 할 수도 있지만 명령 헤이 븐을로드하고 추가하는 기본 사항은 ' t 변경됨)

이것은 단순한 결함 일 가능성이 있음을 나타냅니다. - 의심 스럽습니다.

  • 이 뭔가 잘못은 .Addin 파일에, 또는 그것은 VS2010 추가 기능 경로에없는, 그래서 VS2010에 의해로드되지 않는, 또는
  • 는 추가 기능이로드되어 있지만 추가되지 명령이 성공적으로 완료되었습니다.

먼저 내가로드하는 것이 좋습니다 있는지 확인하는 것이 좋습니다. 도구 -> 추가 기능 관리자로 이동하여 나열되어 있는지 확인하십시오. 그렇지 않으면 추가 기능 경로에 없거나 MyAddin.Addin 파일이 올바르지 않습니다 (XML이 IDE 버전 10.0을 대상으로 업데이트되었거나 여전히 버전 9.0을 말하고 있습니까?)

로드가 잘 되었다면 디버거에서 실행하여 명령이 올바르게 등록되지 않은 이유를 확인해야합니다.

+0

저는이 주제가 상당히 새로워서 VS2008의 작업 과정을 상속 받았습니다. 내가 찾을 수있는 것과 당신의 대답에서 나는 내가 가지고있는 문제에 대한 잘못된 장소를 찾고 있었다고 생각합니다. 나는 2008 년 대신에 VS2010에 전화를 걸었습니다. 패키지가 설치되면 설치 프로그램이 실행될 때 VS2010이 실행되는 것을 볼 수 있습니다. 추가 기능을 설치하기 위해 호출 된 명령은 다음과 같습니다. devenv.exe + "/ resetaddin"+ addinName + "/ Command File.Exit"; addinName 값이 확실하지 않습니다 (설치 프로그램 호출을 디버그하는 방법을 모르겠습니다). BTW, 추가 기능은 설치 후 추가 기능 관리자에 표시되지 않습니다. – tony

+0

문제는 설치를 시작하고 명령을 추가하는 것보다 분명히 들립니다. .Addin 파일이있는 경우 다음과 같이 수동으로 플러그인을 설치할 수 있어야합니다. .Addin 및 .dll 파일을 어딘가에 저장하십시오 (예 : C : \ MyAddin). .Addin 파일을 편집하고 요소 (예 : C : \ MyAddin \ MyAddin.dll)에 dll 경로를 입력하십시오. VS를 실행하고 도구> 옵션 : 추가 기능/매크로 보안으로 이동하십시오. "구성 요소 추가를 허용로드"가 선택되어 있는지 확인하십시오. 추가 ...를 클릭하여 C : \ MyAddin을 경로에 추가합니다. 다시 시작하고 도구> 애드 인 관리자 –

+0

에 추가 기능이 있는지 확인하십시오. 패키지 인 경우 패키지로드 분석기가 문제를 진단하는 데 도움이 될 수 있습니다 (확실하지는 않지만 유용하다고 생각됩니다). http://msdn.microsoft.com/en-us/library/bb286997(VS.80).aspx –

0

많은 변경되었습니다하지만 주로 CLR 버전 3.5을 사용 CLR 2.0에서 2.0 순, 변경되었습니다. 닷넷 4.0 기회는 그래서이 범인에게이며, 새로운 CLR을 사용

감사