4

Visual Studio 2010 확장 프로그램 내에서 기본 프로젝트 만들기 디렉터리를 얻으려면 어떻게해야합니까? 기본적으로이 디렉토리는 다음과 같습니다Visual Studio 2010 확장 프로그램의 기본 프로젝트 디렉터리 가져 오기

C:\Users\<username>\Documents\Visual Studio 2010\Projects 

나는이 같은데요은 도구 -> 옵션 창을 통해 이루어집니다,하지만 난 SDK를 통해이 얻을하는 방법을 모르겠어요.

DTE2 dte = CType(GetService(typeof(SDTE)), DTE2); 
Object props = dte.Properties("Projects and Solutions", "General"); 

그러나 나는 다음과 같은 오류 얻을 : 언뜻

좋아 다음의 외모 나에게 가까이해야

System.Runtime.InteropServices.COMException was unhandled by user code 
ErrorCode=-2147352565 
Message=Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX)) 
+1

DTE 인터페이스를 통해 얻을 수있는 방법을 찾지 못하면 'HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 10.0','DefaultNewProjectLocation' 설정을 지원하는 레지스트리 위치에서 가져올 수 있습니다. –

+0

@RomanR. 고마워, 잘하면 누군가가 "프로젝트 및 솔루션"이 작동하지 않는 것으로 보이기 때문에 사용해야하는 색인을 알려 줄 수 있지만 그렇지 않은 경우 좋은 대안이 될 것입니다. –

답변

7

그것을 찾았
http://msdn.microsoft.com/en-us/library/ms165642.aspx

After Visual Studio has been run once, the property item names for the current instance of Visual Studio are stored in the following Windows registry key: HKCU\SOFTWARE\Microsoft\VisualStudio\10.0_Config\AutomationProperties. This location always has the definitive list of names. The category names are the names of the subkeys of the AutomationProperties key (Database Tools, FontsAndColors, and so on). The page names are the names of the subkeys of the category keys. For example, the FontsAndColors category contains the Dialogs and Tool Windows, Printer, and TextEditor pages. You can view the registry by using the registry editor.

그리고 여기에 값을 얻기위한 코드가 있습니다. m이 찾고있는 사람이 레지스트리에서 값이 그렇게 약간의 탐정 일을 당신이 찾고있는 정확한 값을 얻기 위해 필요한 Visual Studio에서 표시되는 내용과 일치하지 않는

string defaultProjectPath = (string)(DTE.Properties("Environment", "ProjectsAndSolution").Item["ProjectsLocation"].Value); 

참고. 필자는 이전 버전과의 호환성 때문에이 방법으로 설정했다고 가정합니다.

+0

envdte 참조 및 EnvDTE 네임 스페이스를 추가 한 후에도이 스 니펫을 실행할 수 없습니다. 내가 뭔가 잘못하고 있는거야? 또한 DTE.Properties가 DTEVarName으로되어 있다고 가정한다면, 어떻게 구성 했습니까? 나는 DTE myDTE = new DTE()를 시도했다. 그러나 그 코드 라인을 불평에서 고치는 것은 아닙니다. 제발, DTE에 대해 많이 모른다 ... 프로그래밍 방식으로 VS2013의 기본 프로젝트 디렉토리를 검색하는 방법을 찾고 있습니다. –

+1

거의 2 년 전 이었기 때문에, 나는 기억이 안납니다. 세부 정보 및 코드는 어딘가에 묻혀 있습니다. 또한 VS 2010 코드이므로 VS 2013이 다를 수 있습니다. 새로운 질문을하고이 질문을하는 것이 가치가 있습니다. 비록 원래 운이 좋지는 않았지만 ... 아마도 운이 좋을 것입니다. –

+0

고마워, 매트! :) –

관련 문제