【发布时间】:2010-12-12 20:56:55
【问题描述】:
我正在使用托管可扩展性框架 (MEF) 在 C# 中编写扩展程序。
如何获取当前打开的解决方案名称或项目名称?
我一直在深入研究的类是 IWpfTextView 但我没有找到它。
【问题讨论】:
标签: visual-studio mef
我正在使用托管可扩展性框架 (MEF) 在 C# 中编写扩展程序。
如何获取当前打开的解决方案名称或项目名称?
我一直在深入研究的类是 IWpfTextView 但我没有找到它。
【问题讨论】:
标签: visual-studio mef
如果你的程序集中有一个 Package 类,你可以这样做:
DTE2 = Package.GetGlobalService(typeof(SDTE)) as DTE2; 字符串全名 = dte.Solution.FullName;
否则,您可以通过以下方式获取 DTE: DTE dte = System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE") 作为 DTE; 字符串全名 = dte.Solution.FullName;
而且我看到人们谈论获取 DTE 的更“MEF”导向的方式,但我还没有尝试过..
获得 DTE 对象后,您就可以使用解决方案遍历项目。
参考:VSIX: Getting DTE object 参考:http://msdn.microsoft.com/en-us/library/envdte.solution.aspx
【讨论】: