我正在使用托管可扩展性框架 (MEF) 在 C# 中编写扩展程序。
如何获取当前打开的解决方案名称或项目名称?
我一直在深入研究的类是 IWpfTextView 但我没有找到它。
最佳答案
如果你的程序集中有一个 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
关于visual-studio - 从扩展程序运行时如何获取解决方案名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4423979/