我正在使用托管扩展性框架(MEF)编写C#中的扩展 如何获取当前打开的解决方案名称或项目名称?
我深入研究的课程是IWpfTextView,但我没有找到它。
答案 0 :(得分:6)
如果程序集中有Package类,则可以执行以下操作:
DTE2 = Package.GetGlobalService(typeof(SDTE))为DTE2; string fullName = dte.Solution.FullName;
否则你可以通过以下方式获得DTE: DTE dte = System.Runtime.InteropServices.Marshal.GetActiveObject(“VisualStudio.DTE”)作为DTE; string fullName = dte.Solution.FullName;
我看到人们谈论更多以'MEF'为导向的DTE方式,但我没有尝试过..
获得DTE对象后,您可以使用解决方案遍历项目。
参考:VSIX: Getting DTE object 参考:http://msdn.microsoft.com/en-us/library/envdte.solution.aspx