MEF (Managed Extensibility Framework)를 사용하여 C#에서 확장 코드를 코딩하고 있습니다.
현재 열려있는 솔루션 이름이나 프로젝트 이름은 어떻게 얻을 수 있습니까?확장 프로그램에서 실행할 때 솔루션 이름을 얻으려면 어떻게해야합니까?
내가 깊이 파고 있었던 클래스는 IWpfTextView이지만 찾지 못했습니다.
MEF (Managed Extensibility Framework)를 사용하여 C#에서 확장 코드를 코딩하고 있습니다.
현재 열려있는 솔루션 이름이나 프로젝트 이름은 어떻게 얻을 수 있습니까?확장 프로그램에서 실행할 때 솔루션 이름을 얻으려면 어떻게해야합니까?
내가 깊이 파고 있었던 클래스는 IWpfTextView이지만 찾지 못했습니다.
당신이 당신의 어셈블리의 패키지 클래스가있는 경우, 당신은 할 수 있습니다 :
DTE2 = Package.GetGlobalService (대해서 typeof (SDTE)) DTE2 같은; string fullName = dte.Solution.FullName;
그렇지 않으면DTE dte = System.Runtime.InteropServices.Marshal.GetActiveObject ("VisualStudio.DTE")를 DTE로 가져올 수 있습니다. string fullName = dte.Solution.FullName;
와 나는
는 DTE 개체가 후에는 다음 솔루션 프로젝트를 통과 할 수 .. 사람들이 점점 DTE보다 'MEF'지향 방법에 대해 이야기하지만 난 그것을 시도하지했습니다 참조 .
심판 : VSIX: Getting DTE object REF : http://msdn.microsoft.com/en-us/library/envdte.solution.aspx